You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

dotnet build失败但Visual Studio 2022仍可运行项目,如何对齐Rider行为?

解决Visual Studio 2022在构建失败时仍启动项目的问题

当前配置

.editorconfig规则

[*.cs]
csharp_style_namespace_declarations = file_scoped:error
dotnet_diagnostic.IDE0161.severity = error

Directory.Build.props配置

<Project>
  <PropertyGroup>
    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
  </PropertyGroup>
</Project>

问题描述

当前项目构建会失败,Rider中运行项目时会报错且无法启动,但Visual Studio 2022仍会强制启动项目。已尝试通过「工具→选项→项目和解决方案→生成并运行→运行时若出现生成或部署错误:不启动」的全局设置解决,但未生效。

解决方案

1. 检查并修改项目级启动设置

全局选项可能被项目自身的配置覆盖,需逐个项目确认:

  • 右键目标项目 → 选择「属性」
  • 切换到「生成」标签页,点击右下角的「高级」按钮
  • 在「高级生成设置」窗口中,找到「生成失败时启动」选项,选择「从不」
  • 保存项目设置后重新测试

2. 通过Directory.Build.props批量配置所有项目

若要统一管控解决方案内所有项目,可在Directory.Build.props中添加以下配置:

<Project>
  <PropertyGroup>
    <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
    <!-- 禁用默认启动行为 -->
    <StartAction>None</StartAction>
    <!-- 明确指定构建失败时不启动项目 -->
    <OnBuildFailure>DoNotStart</OnBuildFailure>
  </PropertyGroup>
</Project>

3. 确认代码风格规则的构建强制执行状态

确保.editorconfig中的规则确实在构建时被标记为错误:

  • 打开Visual Studio的「工具→选项→文本编辑器→C#→代码风格→常规」
  • 勾选「在生成时强制执行代码风格」选项
  • 执行完整构建(Ctrl+Shift+B),查看输出窗口,确认IDE0161等规则被输出为Error级别而非Warning

内容的提问来源于stack exchange,提问作者Alex Veto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 06:12:41