可能重复:
Can I use a .NET 4.0 library in a .NET 2.0 application?
所以我有一个遗留的.NET 2 GUI应用程序。重做此应用程序是不可能的。
我还有一个控制台.NET 4应用程序,可以执行FTP和其他工作。它使用LINQ。
现在,我将控制台应用程序(即.NET 4)抽象为可重用的DLL等。
我希望能够做的是让GUI应用程序(.NET 2)能够包含这些DLL并调用它们。然后从中获取返回值。
我认为更糟糕的情况我可以保持它是一个控制台应用程序,让.NET两个外部执行它。但我希望GUI应用程序能够从.NET 4中执行方法。
将运行此应用程序的客户端都具有.NET 4。
感谢。
答案 0 :(得分:8)
所以我有一个遗留的.NET 2 GUI应用程序。重做此应用程序是不可能的。
是否正在将框架目标更改为.NET 4并且还无法重建?这可能是最简单的方法 - 然后你知道你不会在奇怪的情况下结束你实际上在CLR v2上运行并尝试加载需要CLR v4(和.NET)的程序集框架v4组件)。
在大多数情况下,您应该只需重新定位 - 虽然向后兼容性不是100%,但它非常好。
答案 1 :(得分:1)
您需要做的是将共享实用程序分解为针对2.0框架的DLL。然后可以在2.0和4.0 .Net过程中使用这些DLL。 .Net在向后兼容性方面设置了很高的标准,在绝大多数情况下,2.0 DLL可以在4.0中无需更改即可运行。