2011-10-07 135 views

回答

2

你將無法在.NET 3.5進程中運行.NET 4.0 DLL。

如果您有源代碼,那麼您可以通過更改項目的目標框架(無論是在Visual Studio中還是手動)將其轉換爲.NET 3.5。如果源代碼依賴於.NET 4.0的特定功能,那麼您將不得不將其更改爲使用.NET 3.5。這是否可行取決於代碼依賴於.NET 4.0功能的程度,以及是否僅使用.NET 3.5可以實現相同的效果。

+0

謝謝亞當。降級類庫解決了我的問題 – Navya

1

您是否有源4.0 DLL和3.5項目?如果是這樣,您可以:

  1. 端口&重建4.0 DLL 3.5
  2. 端口&重建3.5的項目.NET 4.0。
<configuration> 
    <startup > 
    <supportedRuntime version="v2.0.50727" /> 
    <supportedRuntime version="v4.0" /> 
    </startup> 
</configuration> 

如果您選擇選項3,一定要徹底測試你的代碼,你的代碼可以參考:

  • 通過修改應用程序的配置強制轉換你的3.5的項目在4.0 CLR上運行API已經改變了行爲和/或API,並且可能導致很難檢測和修復的運行時中斷。

    請務必read the documentation涵蓋了.NET 4.0應用程序更好地處理爲早期版本的.NET構建的組件的功能。

    這可能是明智的做法,現在開始爲將來做好準備並重新考慮代碼,將所有核心業務邏輯推入.NET Portable Assemblies,這將使在Windows桌面,Windows Metro風格的應用程序,Windows Phone應用程序,Silverlight應用程序,XBox應用程序等。

    HTH。

  • +0

    我的問題是,我不能將項目從3.5移植到4.0。它也是由我的其他隊友開發的。我爲Windows窗體項目創建了這個類庫,現在我正在創建它的Web版本,它必須作爲新模塊集成到舊項目中。 – Navya

    +0

    那麼你最好的選擇是創建一個你的圖書館的端口,它被編譯爲與你的團隊其他人相同的平臺。 –

    +0

    @RichardTurner同樣的問題和選項3似乎是我的問題唯一合理的答案。然而,當我嘗試這樣做時,我得到一個錯誤:「找不到元素'supportedRuntime'的模式信息。如果您有任何其他信息,我很樂意聽到它。 –

    相關問題