我正在使用VS2013,默認情況下它將以.NET Framework 4.5爲目標。我正在嘗試使用需要定位.NET 4.5.2的第三方庫。這是當事情開始打破:針對更高版本的.NET會導致構建時出現ms1685警告
- 我被警告MSB3270(「有處理器架構......以及處理器architectur ... 86之間的錯配」),所以我改變了平臺的x86。精細。
- 我得到THR誤差(也見的細節在這個問題的結束):
類型「System.Runtime.Serialization.IExtensibleDataObject」是在未引用的程序集定義 。您必須添加一個引用程序集「System.Runtime.Serialization」等
所以我加入到System.Runtime.Serialization
參考(我不完全理解這個錯誤,雖然),我需要瀏覽和手動去從GAC添加對它的引用(因爲我沒有針對.NET 4.5.2的程序集)。
我還需要添加對
System.ServiceModel
的引用。我發現MS1685(「預定義類型(...)在多個程序集中定義」)和MSB3247(「在相同的相關程序集的不同版本之間找到coflicts」等)結束了。 展望生成日誌,衝突是:
之間存在着衝突 「System.Core程序,版本= 3.5.0.0, 文化=中性公鑰= b77a5c561934e089」 和「System.Core程序, Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089「。
「System.Core程序,版本= 3.5.0.0,文化=中性 公鑰= b77a5c561934e089」 被選擇,因爲它是伯和 「System.Core程序,版本= 4.0.0.0,文化=中性 公鑰= 「b77a5c561934e089」不是。
我也跑AsmSpy(ClassLibrary1
是我的項目的名稱):
Reference: mscorlib
4.0.0.0 by ClassLibrary1
Reference: Microsoft.Xrm.Sdk
8.0.0.0 by ClassLibrary1
Reference: System.ServiceModel
4.0.0.0 by ClassLibrary1
其他細節: 我試圖使用的是動態CRM組件需要建立的第三方庫示例插件發現here。我得到了清單2中提到的錯誤:
// The InputParameters collection contains all the data passed in the message request.
if (context.InputParameters.Contains("Target") &&
context.InputParameters["Target"] is Entity)
我閱讀了關於這些警告的SO帖子。他們中的很多人(例如1,2)只是爲了擺脫導致問題的參考,但我想我確實需要所有這些。其他(1,2)方面CopyLocal
- 我試圖將它設置爲True
和False
,沒有幫助。
因此,我沒有設法解決它,所以我會很感激幫助。我知道這些都是「只是警告」,但我真的想解決它們。
工作!猜測.NET 4.5.2沒有正確安裝。謝謝! – HeyJude