3

我正在使用VS2010 RC,同時以.NET 3.5爲目標。我可以通過Visual Studio運行代碼分析,而不會出現問題。但是,當我嘗試在我們的CI服務器上運行代碼分析時,它不會被執行。當我嘗試使用msbuild 4.0構建時,出現以下異常:無法通過msbuild從命令提示符運行代碼分析

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ CodeAnalysis \ Microsoft.CodeAnalysis.targets(129,9):錯誤MSB4018:「CodeAnalysis」任務意外失敗。 (x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ CodeAnalysis \ Microsoft.CodeAnalysis.targets(129,9):錯誤MSB4018:System.TypeLoadException:無法加載類型'系統。 Runtime.Versioning.TargetFrameworkAttribute'從程序集'mscorlib,版本= 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089

就像我說的,它在我通過VS運行時工作正常。

+0

的複製事實證明構建機仍在運行.NET 4 Beta 2中,而不是RC(這是什麼建立了dll)。我將嘗試升級並查看是否可以修復它。 – devlife 2010-03-24 20:36:44

+0

今天我花了一大堆時間,並且有幾件事情需要發生。第一個是你必須通過/ p:FxCopDir =「路徑到FxCop目錄」。該目錄包含所有FxCop文件,包括代碼分析期間使用的exe和所需的dll。當安裝VS時,由於安裝創建註冊表項,一切正常。要解決此問題,您必須修改C:\ Program Files文件(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10 \ CodeAnalysis \ Microsoft.CodeAnalysis.Targets並刪除註冊表中的依賴項。 – devlife 2010-03-25 22:42:32

回答

0

您將有艱難的時刻設置這...

我會在構建服務器上安裝VS2010。問題解決了。

注:
構建服務器應該是你的開發環境(不是生產環境)

+0

你是我聽過的第一個說Peter的人。爲什麼你認爲構建環境應該複製開發服務器而不是產品環境? – devlife 2010-08-24 13:59:53

+4

構建服務器用於將源(文本文件)編譯爲可執行文件,然後針對這些文件運行測試。這也是開發機器所做的。 生產環境(服務器)正在運行最終應用程序,無需編譯,測試,代碼分析等...... 您認爲如何? – 2010-08-24 23:27:22