为什么添加对项目定位.NET Framework 4.0的引用失败?

Mal*_*ost 8 .net .net-4.0 visual-studio-2010 visual-studio

我们有两个项目都是类库.Project 1是VS 2008项目,面向.NET Framework 3.5.Project 2是一个针对.NET Framework 4.0的VS 2010(候选版本)项目.当我尝试在项目1中添加对项目2的引用时,它失败并且信息不足以提供信息.我知道如果我将Project 2的目标框架更改为3.5,那么添加引用将起作用.我的问题是,如果我不更改目标框架,但将Project 1转换为VS 2010,那么引用会起作用吗?换句话说,针对不同框架版本的类库之间是否存在一些固有的不兼容性,还是因为VS 2008不了解4.0框架而失败了?

Ada*_*lls 7

是的,这是一个问题.就像您无法从.NET 1.0或1.1项目添加对.NET 2.0程序集的引用一样..NET 4.0是框架(CLR)的新运行时版本..NET 3.5和3.0版本都使用框架的2.0 运行时版本(CLR).

您始终可以将使用较新运行时构建的程序集中的引用添加到具有较旧运行时的程序集,但不能相反.

从.NET 2.0(3.0和3.5):
*可以引用.NET 2.0(3.0和3.5)程序集
*不能引用.NET 4.0程序集

从.NET 4.0:
*可以引用.NET 4.0程序集
*可以引用.NET 2.0(3.0和3.5)程序集