2016-08-16 44 views
0

我有一個使用博客服務的項目。在此服務中,有一個類型爲System.Runtime.Serialization.IExtensibleDataObject的對象。門控簽入不會生成

這一切都很好,我可以在本地生成我的項目併發布它(並且在IIS下運行時都可以)但是當我簽入時,門控簽入上的構建失敗(請參見下面的錯誤),我無法檢查在代碼中。

錯誤CS0012:類型「System.Runtime.Serialization.IExtensibleDataObject」在未引用的組件定義的。您必須添加一個引用程序集「System.Runtime.Serialization,版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089」

此DLL是在由我的網站項目中引用我的DAL項目中引用。

我的項目使用.net 4.6.1,我檢查這是安裝在生成服務器上。我也檢查了dll文件的位置是一樣的(C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtime.Serialization.dll - 它是在構建服務器上,它應該在哪裏)。

我已經嘗試添加對網站項目的引用,但這並沒有幫助。不敢肯定這將是造成這一點,我在一個不知如何解決它。如果任何人經歷過類似的

如果它的確與衆不同什麼

任何幫助,將不勝感激,我在本地運行在Windows 10上,但構建服務器是Windows Server 2012(儘管我發佈的網站也適用於Windows Server 2012)

+0

你有沒有在詳細模式下運行構建和檢查線索的輸出? – stuartd

+0

由於它是一個tfs構建,不知道如何設置它的詳細程度,從我看到的帖子,應該有一個在進程選項卡下的診斷設置,但我的進程選項卡看起來不同於顯示的 – Pete

+0

這可能有所幫助 - 「要從構建定義中更改TFS 2013構建的詳細信息,請在構建定義的」進程「選項卡的MSBuild參數部分傳遞參數:'/ flp:verbosity =」「'。 - [source](https://blogs.msdn.microsoft.com/tfssetup/2014/10/23/set-ms-build-output-verbosity-from-build-definition-for-tfs-2013/) – stuartd

回答

0

好的,爲了解決這個問題,我不得不在所有引用DAL項目並且被網站項目使用的項目中添加對System.Runtime.Serialization的引用。

只是看起來愚蠢的,它會在本地,而不是建立在構建服務器

0

嘗試解決方案in this post

在主文件中添加System.Runtime.Serialization。

+0

不是確定你的意思是「主文件」。另外,如果您只是複製另一個問題的答案,則應投票將問題作爲重複進行關閉,而不僅僅是粘貼相同的答案 – Pete