【问题标题】:How to disable "warning as error" for generated files only? (MSBuild)如何仅对生成的文件禁用“警告为错误”? (MSBuild)
【发布时间】:2010-09-08 20:52:59
【问题描述】:

在我们的持续集成服务器(Teamcity 5.1.3)上,我们有一个自动构建应用程序的 msbuild 脚本。

当我们启用“警告为错误”时:在 Visual Studio 中,它构建良好(它忽略了“*.designer.cs”文件中的方法。但在构建服务器上,我们总是收到以下错误:

[(Rebuild target(s)):] somefile.Designer.cs(XX, XX): error CS1591: Warning as Error: Missing XML comment for publicly visible type or member...

正在使用的 MSBuild 脚本如下所示:

<MSBuild Projects="proj\$(ProjectName).sln"
         Targets="Clean;Rebuild"
         Properties="Configuration=Release"
         StopOnFirstFailure="True">
</MSBuild>

我能理解为什么会这样,但一定有办法告诉 msbuild 忽略生成文件中丢失的 cmets?

已编辑

进一步挖掘: 在 Visual Studio 解决方案中,我们检查了“警告为错误”,但我们还在“禁止警告”文本框中添加了错误 1591。 MSBuild 似乎没有选择那个“抑制警告”文本框并且构建失败。有什么我能做的吗?

再次编辑 问题是 MSBuild 以任何 CPU 为目标(在“任何 CPU”配置中,我们没有抑制错误 1591)。一旦我们更改任何 CPU 以排除错误 1591,它就开始在构建服务器上正确构建。感谢那些帮助过的人。

【问题讨论】:

    标签: visual-studio msbuild continuous-integration compilation teamcity


    【解决方案1】:

    您可以通过在 msbuildcall 中添加以下属性来忽略 cmets 警告:nowarn="1591,1573"。

    <MSBuild Projects="proj\$(ProjectName).sln"
         Targets="Clean;Rebuild"
         Properties="Configuration=Release;nowarn=1591,1573"
         StopOnFirstFailure="True">
    </MSBuild>
    

    【讨论】:

      【解决方案2】:

      不,MSBuild 对 XML cmets 并不挑剔。无论您使用什么代码分析工具。猜测诸如 StyleCop 之类的东西。它确实抱怨这个确切的问题,它不是很聪明,与 Windows 窗体项目模板差不多。

      只有在开发者上执行与构建服务器相同类型的构建规则时,才能解决这个问题。因为其中一个需要编辑 Mumble.Designer.cs 文件中的请勿编辑代码并应用 [GeneratedCode] 属性。现在没有了。

      这是一个政治问题,我真的无法帮你解决。也不是在不同时间和不同建筑物从事此工作的微软团队。但是,如果您要求他们解决问题,您可以指望开发人员大声吠叫。

      保持一致。

      【讨论】:

      • 我已经编辑了我的问题以反映我发现的新信息。尽管我仍然有点困惑,但您的回答帮助我找到了正确的方向。
      • 即使是艰难的答案也没有直接回答问题(我的问题一开始并不完全清楚......查看编辑)我继续接受你的答案,因为它以某种方式引导我得到我想要的答案.
      【解决方案3】:

      对我来说,问题只发生在带有 SOAP 服务引用的 dll 项目上。当我在“内置”选项卡上打开项目设置时,我注意到一个名为“XML 文档文件”的复选框被选中。这就是迫使 SOAP 服务的每个暴露成员都发表评论的原因!

      【讨论】:

        猜你喜欢
        • 2017-11-08
        • 2013-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-11
        • 2013-04-24
        • 2010-10-20
        • 1970-01-01
        相关资源
        最近更新 更多