我希望能够验证我的.csproj
文件,因为它们已添加到解决方案中,或者在我们的CI构建服务器上构建时。
验证意味着检查,例如:
AssemblyInfo.cs
等)。另一个有用的功能是能够忽略某些项目,或者更好的是,能够定义项目分组,每个组都有自己的验证规则。
在我看来,这是许多其他人必须拥有的问题,但是我还没有找到任何可以帮助简化或自动化此过程的工具。我想象它可能是StyleCop或FxCop。
是否存在此类工具或是否必须创建自己的自定义构建步骤?
(我也使用ReSharper,因此会考虑插件,尽管这可能会使构建服务器上的验证更加困难。)
答案 0 :(得分:2)
AFAIK没有tool to achieve this。这就是为什么我的拼贴使用自定义规则验证器对自定义工具进行编码以验证.csproj
和.vbproj
文件的原因。
有些类可以检查项目文件,例如,Microsoft.Build.Evaluation.Project
(程序集Microsoft.Build
)可能对您有用。但是当你试图解析解决方案文件时它会变得很脏。我强烈建议您查看此question on StackOverflow。
我正在讨论的内部验证工具只是检查已定义的规则(如ToolsVersion
,TargetFrameworkVersion
,TargetCPU
,...)并以格式绘制相应的输出这样构建服务器就可以解析消息并在重要规则被破坏时停止构建。