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

时间:2013-08-27 12:08:54

标签: c# .net visual-studio .net-2.0 .net-3.0

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

  

主要参考“Project B / Some.dll”无法解析,因为它对框架程序集“System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = XXX”具有间接依赖性在目前有针对性的框架中解决。 ” .NETFramework,版本= 2.0" 。

我该如何做到这一点?

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您无法直接执行此操作,您的项目将针对不同版本的.NET。

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

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

在2.0项目中,使用正确的命令行参数将3.0项目生成为新的Process。如有必要,请写入3.0项目的StandardOutput并从2.0项目中读取它。

答案 2 :(得分:0)

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