2011-04-08 149 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,我认为这将是非常困难的。

相关问题