我有一个基于.NET Framework v4.0构建的类库。是否可以在针对v3.5框架的控制台或Web应用程序中添加此作为参考?
答案 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并说这看起来像是不行。