框架兼容性

时间:2011-05-04 10:09:18

标签: .net frameworks c#-4.0

我有一个基于.NET Framework v4.0构建的类库。是否可以在针对v3.5框架的控制台或Web应用程序中添加此作为参考?

3 个答案:

答案 0 :(得分:3)

.NET 4.0中的元数据格式已更改。 CLR的第2版,当您在2.0和3.5之间定位任何版本的.NET时获得的版本不知道如何阅读它。同样的事情发生在1.1和2.0之间。 CLR的第4版知道如何在没有问题的情况下阅读旧格式。只要您引用了编译为目标版本4的非框架程序集,那么 就可以使用.NET 4.0。

重新定位现有的EXE项目,该项目不需要引用该程序集。将.config文件添加到项目并粘贴:

<startup useLegacyV2RuntimeActivationPolicy="true">
   <supportedRuntime version="v4.0"/>
</startup>  

答案 1 :(得分:2)

我建议不要,因为他们使用完全不同的CLR。通常,向后兼容性=是,向前兼容性=否。

答案 2 :(得分:0)

我刚刚创建了一个Framework 3.5控制台应用程序,并添加了对我有用的4.0 dll的引用。

编译器对此并不满意。

(空)程序运行一次(控制台出现,然后关闭)然后40个警告到达错误列表,与版本问题有关,并且dll的命名空间根本无法访问。

我会同意Sasquiha并说这看起来像是不行。