【问题标题】:Visual Studio 2017 Code Style "Errors" do not prevent build?Visual Studio 2017 代码样式“错误”不会阻止构建?
【发布时间】:2017-08-17 17:13:30
【问题描述】:

我设置了各种 C# 代码样式规则来生成错误,虽然违规在 IDE 中显示为错误(在错误列表和文本编辑器中),但实际构建仍然成功。

谁能证实这一点?我已经在社区(在家)和企业(在工作)版本下在 VisualStudio/15.0.0+26228.9 上进行了测试。由于代码样式违规,我无法破坏任何构建。

我什至尝试过使用 .editorconfig,构建仍然通过...

【问题讨论】:

  • 我也在 VS 2017 中看到了这个,将尝试更新 1 看看是否能解决这个问题
  • 在更新 2 中仍然相同。MS 开发人员最近的评论表明他们希望在更新 3 中提供它:developercommunity.visualstudio.com/content/problem/34304/…
  • 截至 2017 年 8 月(更新 15.3.0)此问题仍未得到解决。
  • 截至 2018 年 11 月(更新 15.9.0)此问题仍未得到解决。
  • 2019 年 4 月,Visual Studio 2019:它仍然是一个悬而未决的问题。

标签: .net msbuild visual-studio-2017 code-standards editorconfig


【解决方案1】:

您正在寻找将警告视为错误选项。您可以通过右键单击项目并选择 Properties -> Build 来找到它:

将其从 None 切换到 All 以使所有代码样式警告(以及任何其他警告)中断构建。

如果您正在处理 .NET Core 项目,您可以直接编辑 csproj 文件并添加 TreatWarningsAsErrors 属性:

<PropertyGroup>
  <!-- ... other stuff -->

  <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>

【讨论】:

  • 不幸的是,这不是解决方案。我试过了,但没有用。此外,这些不是警告,它们是由 Visual Studio 2017 中的高级代码样式选项指定的完全错误。我将错误切换为警告以仔细检查“将警告视为错误”选项,但它没有改变任何东西。
  • 在下面的 Visual Studio 2017 启动视频 link 从 3:34 到 5:37 中涵盖了我想要实现的目标,但是他们从未真正显示失败的构建,他们只是说它会失败...但显然没有。
【解决方案2】:

更新:

这还没有实现。这现在作为一个项目在 GitHub 上被跟踪:https://github.com/dotnet/roslyn/projects/18 - 检查那里的更新。

原始回复:

我已经在https://developercommunity.visualstudio.com/content/problem/48804/editorconfig-with-rules-set-to-error-produces-erro.html 上提出了一个 VS 问题,希望能提供一些答案,说明为什么来自 VS2017 中新的 .editorconfig 支持的错误不会导致构建失败。

【讨论】:

  • 已经reported here,“调查中”是“我们有更大的问题,还没有研究”的快乐说法。投票,点击关注获取状态更新通知。
  • @HansPassant 实际上并不清楚如何投票。它已作为副本关闭(因此投票被禁用),但我找不到任何指向原始链接的链接进行投票。同样在这里:developercommunity.visualstudio.com/content/problem/34304/….
  • @Ohad - 这只是一个错误的链接,请删除尾随点。它指向正在进行的工作,看起来他们正忙于添加必要的基础设施来完成这项工作。微软对敏捷的新关注对其客户来说是相当粗暴的。先发布功能,然后让它工作是敏捷的。
  • @HansPassant 哈哈 很敏捷!顺便说一句,我知道链接断开了,我的意思是我看不到任何我可以实际投票的地方......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
  • 1970-01-01
  • 2017-08-01
  • 2017-07-29
  • 2019-08-17
  • 1970-01-01
相关资源
最近更新 更多