2

我在 .NET 2.0 中有一个项目(我们称之为项目 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”。

我怎样才能使这项工作?

4

3 回答 3

0

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

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

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

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

于 2013-08-27T12:22:31.967 回答
0

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

于 2013-08-27T12:15:22.323 回答
0

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

于 2013-08-27T12:23:58.537 回答