StyleCop 4.4适用于VS.NET 2010,但不适用于MSBuild命令行

时间:2010-05-27 18:07:54

标签: stylecop

我们看到非常奇怪的结果,StyleCop将在Visual Studio 2010中运行时正确报告违规。但是,当我们在命令行上运行msbuild时(例如,“MSBuild.exe mySolution.sln”),它报告“没有违规遇到“显然存在与在Visual Studio中运行时相同的违规行为。这是StyleCop最新版本中的错误吗?还是在2010年整合?有没有什么可以告诉我在VS.NET和MSBuild命令行中执行StyleCop的可能差异?感谢。

1 个答案:

答案 0 :(得分:1)

我根据自己的问题找出问题所在。对此的设置是,在我们的csproj文件中,我们有这个:

<Import Project="..\..\lib\StyleCop\Microsoft.StyleCop.targets" />

与微软展示here的地方略有不同:

<Import Project="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets" />

但一切都应该有效。问题是在我们的lib \ StyleCop文件夹中,我们只有:

  • Microsoft.StyleCop.Targets
  • Microsoft.StyleCop.dll

我们失踪了:

  • Microsoft.StyleCop.CSharp.dll
  • Microsoft.StyleCop.CSharp.Rules.dll

是动态发现的。一旦我们将这两个其他文件添加到我们的lib \ StyleCop文件夹中,现在一切都在MSBuild中正常工作。这使我们能够利用StyleCop,而不是每个运行安装程序的开发人员都将二进制文件放在ProgramFiles目录中。这也意味着我们不必在构建服务器上运行安装程序。