2010-05-27 75 views
2

我们看到极其奇怪的结果,StyleCop在Visual Studio 2010中正确报告违规行为。但是,当我们在命令行上运行msbuild时(例如, MSBuild.exe mySolution.sln“),它报告”没有违规行为“,当我们在Visual Studio中运行它时发现有相同的违规行为。这是StyleCop最新版本中的错误吗?还是在2010年整合?有没有什么可以告诉我有关在VS.NET中执行的StyleCop与MSBuild命令行之间可能存在的差异?谢谢。StyleCop 4.4适用于VS.NET 2010,但不适用MSBuild命令行

回答

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目录。这也意味着我们不必在构建服务器上运行安装程序。

相关问题