我们看到非常奇怪的结果,StyleCop 在 Visual Studio 2010 中运行时会正确报告违规。但是,当我们在命令行上运行 msbuild(例如,“MSBuild.exe mySolution.sln”)时,它会报告“未遇到违规”显然存在与我们在 Visual Studio 中运行它时相同的违规行为。这是最新版本的 StyleCop 中的错误吗?还是在2010年整合?关于在 VS.NET 与 MSBuild 命令行中执行 StyleCop 可能存在的差异,您有什么可以告诉我的吗?谢谢。
问问题
1711 次
1 回答
1
我想出了我自己的问题的问题。对此的设置是,在我们的 csproj 文件中,我们有这个:
<Import Project="..\..\lib\StyleCop\Microsoft.StyleCop.targets" />
这与微软在此处显示的内容略有不同:
<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
是动态发现的。一旦我们将这 2 个其他文件添加到我们的 lib\StyleCop 文件夹中,现在 MSBuild 一切正常。这使我们能够使用 StyleCop,而无需每个开发人员都运行安装程序来将二进制文件放入 ProgramFiles 目录。这也意味着我们不必在构建服务器上运行安装程序。
于 2010-07-21T14:46:25.087 回答