2011-05-04 111 views
1

我有一个建立在.NET Framework v4.0上的类库。是否有可能在v3.5框架的控制台或Web应用程序中添加此参考?框架兼容性

回答

3

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

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

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

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

0

我刚刚创建了一个Framework 3.5控制台应用程序,并添加了一个4.0 dll的引用,我已经得心应手了。

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

我打算同意Sasquiha的看法,并说这看起来像一个不行。