如何在.NET 3.5项目中引用.NET 4.0程序集

21

我想使用.NET 4.0来进行一些Office Interop相关的工作,但是我还想在我的项目中使用VS2008和.NET 3.5来开发其余部分。

那么,我该如何在我的其他解决方案中使用.NET 4.0程序集的功能呢?将CLR 4.0程序集加载到2.0 AppDomain中行不通,对吗?

4个回答

26

简而言之:你不能这样做。

.NET 4.0是全新的CLR(4.0),据我所知,无法与.NET 3.5混合使用和/或从VS 2008中使用,抱歉。

如果您保证目标计算机同时安装了.NET 2.0框架和.NET 4,则可以从.NET 4.0代码中使用.NET 2.0程序集(并存)。


6

您不能将较新的.NET框架版本程序集与旧版.NET一起使用。


2

CLR 4允许使用InProc Side by side,但您仍需要在加载的2.0和4.0代码之间寻找一些交互解决方案。


1

我不太确定,但我相信你可以这样做(虽然可能不推荐,但在技术上是可行的)。

由于Net Framework 4.0使用不同的CLR,并且可以并排安装...也许您可以尝试在4.0 CLR中加载您的4.0程序集,在2.0中加载您的2.0应用程序,并通过Web服务之间进行通信。

再次强调,我不确定这是否可行。这只是一些想法。


1
不,.Net 没有跨进程通信。你需要自己实现非托管(COM)的通信。 - Jason Short
7
我不明白为什么你不能在一个使用.Net 2编写的应用程序和另一个使用.Net 4编写的应用程序之间使用Web服务。 - pauloya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接