2010-05-27 72 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目錄。這也意味着我們不必在構建服務器上運行安裝程序。

相關問題