我正在尝试为我的团队设置全局规则。我们在我们的C#项目中使用VS2012和TFS。我想压制一些警告,并将一些警告视为错误。我找到了在项目级别上执行此操作的方法 - 项目属性 - >构建标签。
但我们有超过一百个项目的解决方案,我正在寻找一些更简单的方法来全局设置这些规则。
答案 0 :(得分:6)
解决方案只是项目的(非常愚蠢的)容器。如果您在文本编辑器中打开它,您很快就会发现无法扩展它,只能添加项目/项目。
您想要的是一个或多个常见的msbuild文件,为编译器/链接器/您使用的任何工具指定所有需要的选项,并在每个项目中Import
。我们多年来一直在使用它并且它非常方便(虽然方便的一部分可能是我们还编写了一个小工具来生成项目文件以自动导入全局属性,所以我们没有手动弄乱他们)
或者,您可以添加计算机范围的文件,查看$(MSBuildToolsPath)\ Microsoft.CSharp.targets以查看放置这些文件的位置。我不打算在这里复制/粘贴内容,但是第一行基本上检查是否有用户定义的文件,例如$(MSBuildExtensionsPath)\ $(MSBuildToolsVersion)\ $(MSBuildThisFile)\ ImportBefore,如果是这样,他们& #39;在所有常见的msbuild之前全部导入。同样,Microsoft.CSharp.targets的结尾包含了在所有常见的msbuild之后导入文件的类似逻辑。