Dot-Net
MSBuild 錯誤 MSB3086,與 TeamCity
我正在嘗試使用Web Deploy建構和部署一個
.NET 4項目,並且在我的本地開發機器上執行 TeamCity 實例時,我(最終)可以正常工作,但是當我嘗試使用相同的設置設置一個新的 TeamCity 實例時,我收到以下錯誤:MSBuild``TeamCity\Microsoft.Common.targets(2249, 9): error MSB3086: Task could not find "sgen.exe" using the SdkToolsPath "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\" or the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A". Make sure the SdkToolsPath is set and the tool exists in the correct processor specific location under the SdkToolsPath and that the Microsoft Windows SDK is installed我正在執行 Windows Server 2008,並安裝了 .NET 4,包括(我相信)MSBuild 4。我還安裝了 Windows SDK 7.1,因為其他執行緒表明這可能是問題所在,但仍然沒有運氣。任何想法或建議將不勝感激。
謝謝
Windows SDK 7.0A 在沒有 Visual Studio 的情況下使用 verus 安裝的方式存在/存在一些問題。存在路徑問題。簡單的出路是在建構機器上安裝 Visual Studio,但這感覺不對。或者至少它對我有用。另一種選擇是將建構設置為不創建序列化程序集——在許多情況下它們並不重要。請注意,如果您跳過發布版本,預設情況下會發生這種情況。
真正的解決方法是正確地將 TeamCity 指向 sgen.exe,然後通過正確的工具路徑告訴 msbuild 使用正確的文件夾。請參閱此問題以獲得很好的解釋。
我對 TeamCity 也有同樣的問題。以下是我要解決的步驟:
- 下載適用於 Windows 7.1 的 Windows SDK。如果您的伺服器/使用者不允許 Web 訪問,Web 安裝程序將無法工作,因此我建議下載完整包。注意下載正確的版本——x86$$ 32-bit $$, x64$$ 64-bit $$,或安騰。
- 安裝時只需要選擇一個選項:.NET Development -> Tools
- 再次嘗試建構。我不需要重新啟動代理即可使建構正常工作。
如果您接受預設安裝路徑,將在此處找到sgen.exe :
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\sgen.exe
