2011-04-08 181 views
2

我有一個用.NET 4.0編寫的應用程序,我編譯成一個DLL文件。我希望能夠在Windows窗體.NET 2.0應用程序中使用此DLL文件。我不需要應用程序真正地進行交互,除了將一些字符串值傳遞給4.0 DLL。該DLL幾乎是一堆Windows,我轉換爲UserControls,我只需要能夠引用它們來顯示2.0應用程序中的UserControls,而不必使用不同的exe,並且必須將它們分開打包。做這個的最好方式是什麼?因爲當我嘗試將引用添加到2.0應用程序的DLL時,它會給我和錯誤,說DLL是在.NET的新版本中構建的,所以我不能這樣做。這是COM對象會來的地方嗎?任何信息和鏈接,我真的很感激,謝謝。從.NET 2.0應用程序調用.NET 4.0 WPF類庫

回答

2

如果應用程序真的可以從2.0應用程序調用,那麼最好的方法是將其編譯爲2.0應用程序。 Visual Studio 2010(和2008)支持多目標解決方案的概念。那就是你可以用它來編譯CLR各種版本的項目。

我將採取編譯我的申請兩次

  • 一旦4.0
  • 一旦接近2.0

這樣你就可以直接在2.0應用程序中使用的DLL。沒有凌亂的COM技巧需要

+0

這就是事情。 DLL必須是.NET 4.0,調用的應用程序必須至少是.NET 2.0。它基本上是基於不同框架的2個應用程序,我需要打包爲1。 – bflosabre91 2011-04-08 15:14:38

0

從.net 2.0調用.ne 4.0確實是可能的。問題不是這樣,但我不認爲你可以發送usercontrols!

即時通訊從一些簡單的類從4.0傳遞到我的2.0程序集中,訣竅是將4.0程序集註冊爲ServicedComponent(COM +),然後在這些程序集之間共享一個接口(.net 20)。然後在.net 2.0程序集中實例化ServicedComponent並從「中間件」程序集中檢索接口的一個實例。

如上所述,你只能通過這個傳遞接口,並且將一個複雜類型編組爲一個UserControl,我認爲這將是非常困難的。

相關問題