2010-06-15 112 views
4

我有一個在我的機器(和生產服務器)上運行良好的項目。
這是一個運行C#3.5的VS2010項目。
當讓我的構建服務器構建解決方案時,它無法解決我的第三方DLL的幾個問題。 錯誤消息:構建在TFS 2010上並解決相關性的問題

C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets(1360,9): 警告MSB3268:主要參考 「Third.Party.Assembly , 版本= 50.11.2.0,文化=中立, 公鑰= 0561a7c6dbd6f0ea, ProcessorArchitecture用於= MSIL 「無法 得到解決,因爲它的框架組件 間接 依賴」 Microsoft.VisualBasic.Compatibility, 版= 8.0 .0.0,文化=中立, PublicKeyToken = b03f5f7f11d50a3a「其中 無法在目前的 目標框架中解決。 「.NETFramework,Version = v3.5」。爲了 解決此問題,請刪除 參考「Third.Party.Assembly, 版本= 50.11.2.0,文化=中立, 公鑰= 0561a7c6dbd6f0ea, ProcessorArchitecture用於= MSIL」或 重新定位你的應用程序到 框架的版本,包含 「Microsoft.VisualBasic.Compatibility, Version = 8.0.0.0,Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a」。 [d:\構建\ 3 \ mySolution.sln]

一切編譯和我的機器上運行的很好,但是在構建服務器似乎掙扎。
我認爲Third.Party.Assembly是用VB.net編寫的。
由於程序集是第三方,我不能刪除對「Microsoft.VisualBasic.Compatibility」的引用,並且因爲我沒有在我的計算機上收到任何警告,實際上我是否正在運行v3.5?

有什麼建議嗎?

/Jimmy

回答

1

如果您將您的項目手動運行到構建服務器上,它會運行嗎?根據錯誤信息,我會確保您在生成服務器計算機上安裝了最新的.net框架並再次嘗試。如果這不起作用,請嘗試在構建服務器上安裝VS2010,以使構建正常運行,直到您確切知道您錯過了哪些程序集。

+0

我通過從項目中刪除這些依賴關係來解決它。他們實際上不需要。 =) – 2010-11-02 11:51:11

1

所以,我在上傳轉換的VS2005項目中遇到了這個問題......問題在於MS從未擁有64位版本的VisualStudio.Compatability DLL。我們的問題是,我們的目標是'任何'CPU,並在新的W2008R2服務器上構建,因此它使用的是64位版本的.NET 4.0多目標包。

在'3'下'Process'標籤下的構建屬性。高級'有'MSBuild平臺'。將該值更改爲「X86」,它可能會工作...假設當然你不依賴於任何64位庫...