Dot-Net-4.0
如何在建構伺服器上執行 .NET 4 程式碼分析
在帶有 .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 中)中設置系統資料庫項FxCopDir和StanDir 。
然後我從開發 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.exe將Microsoft.VisualStudio.CodeAnalysis.Sdk.dll安裝到 GAC。
然後,您應該能夠在 MSBuild 建構中執行程式碼分析並使其正常工作。