我在.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" 。
我该如何做到这一点?
答案 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是两个运行时版本必须以相同方式实现的通用接口。