Dot-Net-4.0

如何在建構伺服器上執行 .NET 4 程式碼分析

  • April 22, 2016

在帶有 .NET 4 SDK 但沒有 Visual Studio 2010 的 Windows Server 2003 R2 上,我嘗試使用

msbuild MySolution.sln /p:RunCodeAnalysis=true

但這失敗了。

在這樣的環境中執行程式碼分析需要什麼?


我收到此錯誤消息:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\CodeAnalysis\Microsoft.CodeAnalysis.targets(129,9):錯誤 MSB6003:
無法執行指定的任務執行檔“FxCopCmd.exe”。
無法載入文件或程序集
'Microsoft.VisualStudio.CodeAnalysis.Sdk,版本 = 10.0.0.0,文化 = 中性,PublicKeyToken = b03f5f7f11d50a3a'
或其依賴項之一。
該系統找不到指定的文件。

我已經從 SDK 安裝了 FxCop,並且沒有運氣將變數 FxCopDir 指向 FxCopCmd.exe 的安裝位置,並將此系統資料庫項設置為該位置:

HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Setup\EDev@FxCopDir

我在我的 MSBuild 伺服器上遇到了同樣的問題,並通過以下方式修復了它:

  • 安裝Windows SDK 7.1
  • HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Setup\EDev(在 Win32 中)中設置系統資料庫項FxCopDirStanDir 。

然後我從開發 PC 複製到建構伺服器上的FxCop文件夾,如下:

  • 文件夾Rule Sets(預設安裝目標在這裡:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\FxCop)
  • Microsoft.VisualStudio.CodeAnalysis.Sdk.dll
  • Microsoft.VisualStudio.CodeAnalysis.Phoenix.dll
  • phx.dll

在安裝了 Visual Studio 的開發 PC 上搜尋它們以找到它們。

然後使用 .NET 4.0 版本的gacutil.exeMicrosoft.VisualStudio.CodeAnalysis.Sdk.dll安裝到 GAC。

然後,您應該能夠在 MSBuild 建構中執行程式碼分析並使其正常工作。

引用自:https://stackoverflow.com/questions/3075327