如何在.net 2.0项目中使用.net 3.0类

本文关键字:net 0类 项目 | 更新日期: 2023-09-27 18:29:21

我在.NET 2.0中有一个项目(我们称之为project a)。我想使用WCF,所以我创建了另一个项目(在.NET 3.0中,让我们称之为项目B),在那里我放置了所有WCF逻辑,所以我在项目A中所做的就是从项目B的类中调用一些方法。当我添加对项目B的引用时,项目A看不到它,并且我收到警告:

无法解析主引用"Project B/Some.dll",因为它间接依赖于框架程序集"System.ServiceModel,Version=3.0.0.0,Culture=neutral,PublicKeyToken=XXX",而该程序集无法在当前目标框架中解析。".NETFramework,版本=v2.0".

我怎样才能做到这一点?

如何在.net 2.0项目中使用.net 3.0类

是的,这是完全可能的。您只需将3.0中编写的组件公开为COM对象。2.0托管应用程序只是将它们用作COM对象,不知道它们是本机的、2.0的、3.0的还是其他什么。COM是两个运行时版本必须完全相同地实现的通用接口。

要使用WCF(在运行时),无论如何都需要安装.NET 3(或更好的3.5)。因此,将ProjectA更改为目标3(或3.5)。

您不能直接这样做,您的项目针对不同版本的.NET.

您可以做的是在两个进程之间进行通信。

使您的3.0项目成为可执行文件,并允许它接受调用您要使用的方法的命令行参数。

在2.0项目中,使用正确的命令行参数将3.0项目生成为新的Process。如有必要,可以写信给3.0项目的StandardOutput,然后从2.0项目中读取。