2010-06-04 140 views
4

我遇到了一個針對.NET 3.5的程序集的奇怪問題。當通過添加引用/瀏覽到DLL包含此程序集 - 它抱怨:VS 2010帶有3.5程序集的.NET Framework問題抱怨它需要更高版本的.NET框架

「MyAssembly.dll」或其依賴項之一,需要比項目中指定的更高版本的.NET Framework。您可以通過單擊「項目」菜單上的「屬性」來更改.NET Framework目標,然後在「.NET Framework」下拉框中選擇一個新目標。 (在Visual BVasic中,通過單擊「高級編譯器選項...」按鈕,它位於「編譯」選項卡上。)是否仍想在項目中添加對「MyAssembly.dll」的引用?

似乎有不被任何沒頭沒腦這個錯誤 - 我們已經嘗試了「明顯的東西

與使用該DLL大會是.NET 3.5 的DLL是。 NET 3.5。 所有正在使用的程序集都是.NET 3.5。什麼都不使用.NET 4.0 [AFAIK]

我可以檢查/做什麼?DLL中有一些COM Interop - 可以 該項目已從VS 08移至VS 10 - 但仍是目標.NET 3.5。 我驗證了參考下列出的所有程序集均以C LR版本[2]。

將目標項目升級到.NET 4的確消除了這個問題 - 但這不是我們目前能夠做到的。

  • 我還應該注意,在將DLL降級到.NET 3.0時,通過References/Project [同樣的解決方案]包含它似乎工作正常。 [這可能不完全準確 - 正在測試不少事情]

我在這一點上沒有任何想法。

+0

什麼是使用.NET 3.5程序集的代碼的框架版本?它是.NET 4.0還是.NET 3.5? – 2010-06-04 01:33:25

+0

.NET 3.5。一切都是。NET 3.5。 – 2010-06-04 01:41:18

回答

2

事實證明,這個問題非常奇怪......用Janus Controls .NET 3.5組件..看起來不像其他人那麼好。

截至今天,即使該解決方案構建在.NET 3.5和VS 2008中,Janus Controls [GridEX]也不適用於.NET 3.5,...僅適用於.NET 4項目。

1

我假設您已經使用Reflector或ILDASM來檢查導致問題的程序集的清單。

您擁有的一個選擇是無視這條消息並添加參考。然後嘗試在程序集中使用任何類型。你應該得到一個更完整的錯誤信息。

例如,這是我在我的電腦得到的錯誤,當我嘗試引用的目標是更高的框架類庫:

主要參考「ClassLibrary2」無法得到解決,因爲它有一個間接的依賴於.NET Framework程序集「mscorlib,版本= 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089」,它具有比當前目標框架中的版本「2.0.0.0」更高的版本「4.0.0.0」。 ConsoleApplication1

希望能幫助查明問題。

+0

您的解決方案工作完善。我遇到了更糟糕的情況,我無法在我的項目中添加WatIn 2.0的dll文件,因爲它的目標是3.5 .Net framwork。 – 2013-08-25 16:02:55

相關問題