2012-10-22 209 views
5

可能重複:
Can I use a .NET 4.0 library in a .NET 2.0 application?我可以在.NET 2應用程序中運行.NET 4應用程序嗎?

所以我有一個傳統的.NET 2的GUI應用程序。重做這個應用程序是不可能的。

我也有一個控制檯的.NET 4應用程序,FTP和其他工作。它使用LINQ。現在

,我抽象的控制檯應用程序(這是.NET 4)成可重用的DLL等

我希望能夠做的是有GUI應用程序(.NET 2)能夠包含這些DLL並調用它們。然後只是從它得到返回值。

我認爲最壞的情況下,我可以保持它的控制檯應用程序,並讓.NET 2在外部執行它。但我希望GUI應用程序能夠從.NET 4部分執行方法。

將要運行這個應用程序的所有客戶端具有.NET 4

感謝。

回答

8

所以我有一個傳統的.NET 2 GUI應用程序。重做這個應用程序是不可能的。

正在改變框架目標到.NET 4並重建也不成問題?這可能是最簡單的方法 - 那麼你會知道你不會在奇怪的情況下實際上在CLR v2上運行,並試圖加載需要CLR v4(和.NET框架v4程序集)的程序集。

在大多數情況下,您應該能夠重定向 - 而向後兼容性不是100%,這是相當不錯的。

+0

我已經想到了。公司的政策是儘可能不改變人類可能的GUI。事實上,他們可能會告訴我改變新的控制檯應用程序(和類)以首先使用.NET 2。但我一直在尋找一個很長時間來更新GUI的藉口!所以可能會嘗試一下,看看我得到了什麼樣的推遲。 – cbmeeks

1

你需要做的是將共享實用程序分解成針對2.0框架的DLL。這些DLL可以用於2.0和4.0 .Net進程。 .Net在向後兼容性方面提出了很高的要求,在絕大多數情況下,2.0 DLL可以在4.0版本中運行而無需更改。

相關問題