5

可能重复:
我可以在 .NET 2.0 应用程序中使用 .NET 4.0 库吗?

所以我有一个旧的 .NET 2 GUI 应用程序。重做这个应用程序是不可能的。

我还有一个控制台 .NET 4 应用程序,它执行 FTP 和其他工作。它使用 LINQ。

现在,我将控制台应用程序(即 .NET 4)抽象为可重用的 DLL 等。

我想要做的是让 GUI 应用程序 (.NET 2) 能够包含这些 DLL 并调用它们。然后只需从中获取返回值。

我认为更糟糕的情况是我可以将其保留为控制台应用程序并让 .NET 两个在外部执行它。但我希望 GUI 应用程序能够执行 .NET 4 中的方法。

将运行此应用程序的客户端都具有 .NET 4。

谢谢。

4

2 回答 2

8

所以我有一个旧的 .NET 2 GUI 应用程序。重做这个应用程序是不可能的。

将框架目标更改为 .NET 4 并重建也不可能吗?这可能是最简单的方法 - 然后您就会知道您不会遇到奇怪的情况,即您实际上在 CLR v2 上运行并尝试加载需要 CLR v4(和 .NET 框架 v4 程序集)的程序集。

在大多数情况下,您应该能够简单地重新定位 - 虽然向后兼容性不是 100%,但它非常好。

于 2012-10-22T15:18:31.880 回答
1

您需要在此处将共享实用程序分解为针对 2.0 框架的 DLL。这些 DLL 然后可以在 2.0 和 4.0 .Net 进程中使用。.Net 对向后兼容性提出了很高的要求,并且在绝大多数情况下,2.0 DLL 可以在不更改 4.0 的情况下运行。

于 2012-10-22T15:19:18.097 回答