【发布时间】:2017-02-12 06:40:44
【问题描述】:
我在我的一个项目中使用了代码生成工具(在本例中为实体框架),它生成的代码会导致编译器发出警告。我想忽略特定文件集的这些警告。我的第一个想法是我可以设置一个ItemGroup 来为编译器设置每个文件的属性,语义上是这样的:
<ItemGroup>
<Files Include="Migrations/**/*.cs">
<Properties>
<DisabledWarnings>CS12345;CS4321</DisabledWarnings>
</Properties>
</Files>
</ItemGroup>
我知道这不是有效的 MSBuild 语法,但它表达了我想做的事情的本质。
这个问题似乎有些相关:Using Item functions on metadata values
有没有办法做到这一点?
【问题讨论】:
-
如果它是用于 C++ 的 msbuild 语法(文件将被命名为 ClCompile,并且选项是 DisableSpecificWarnings 而不是 DisabledWarnings),这几乎就是您要使用的 msbuild 语法。不幸的是,我认为不可能将每个文件的编译选项传递给 C# 的 Csc 任务。要解决此问题,您可以在自定义预构建步骤中单独编译这些文件,或者将它们移动到单独的项目中。或者希望其他具有更多 C# 知识的人知道传递每个文件选项的方法。
标签: msbuild