我们看到非常奇怪的结果,StyleCop将在Visual Studio 2010中运行时正确报告违规。但是,当我们在命令行上运行msbuild时(例如,“MSBuild.exe mySolution.sln”),它报告“没有违规遇到“显然存在与在Visual Studio中运行时相同的违规行为。这是StyleCop最新版本中的错误吗?还是在2010年整合?有没有什么可以告诉我在VS.NET和MSBuild命令行中执行StyleCop的可能差异?感谢。
答案 0 :(得分:1)
我根据自己的问题找出问题所在。对此的设置是,在我们的csproj文件中,我们有这个:
<Import Project="..\..\lib\StyleCop\Microsoft.StyleCop.targets" />
与微软展示here的地方略有不同:
<Import Project="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets" />
但一切都应该有效。问题是在我们的lib \ StyleCop文件夹中,我们只有:
我们失踪了:
是动态发现的。一旦我们将这两个其他文件添加到我们的lib \ StyleCop文件夹中,现在一切都在MSBuild中正常工作。这使我们能够利用StyleCop,而不是每个运行安装程序的开发人员都将二进制文件放在ProgramFiles目录中。这也意味着我们不必在构建服务器上运行安装程序。