.net 框架兼容性

.net 框架兼容性,.net,frameworks,c#-4.0,.net,Frameworks,C# 4.0,我有一个基于.NETFrameworkV4.0构建的类库。是否可以将其添加为针对v3.5框架的控制台或web应用程序中的引用 我建议不要,因为他们使用的是完全不同的CLR。通常,向后兼容性=是,向前兼容性=否。我建议否,因为它们使用的是完全不同的CLR。通常,向后兼容性=是,向前兼容性=否。我刚刚创建了一个Framework 3.5控制台应用程序,并添加了一个对我手边的4.0 dll的引用 编译器对此一点也不满意 控制台出现后,空程序运行,然后关闭,错误列表中出现40条警告,与版本问题有关,并且

我有一个基于.NETFrameworkV4.0构建的类库。是否可以将其添加为针对v3.5框架的控制台或web应用程序中的引用

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

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

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

编译器对此一点也不满意

控制台出现后,空程序运行,然后关闭,错误列表中出现40条警告,与版本问题有关,并且根本无法访问dll的名称空间


我同意萨斯基哈的观点,并说这看起来是不可能的。

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

编译器对此一点也不满意

控制台出现后,空程序运行,然后关闭,错误列表中出现40条警告,与版本问题有关,并且根本无法访问dll的名称空间


我同意萨斯基哈的观点,并说这看起来是不可能的。

元数据格式在.NET4.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>  

元数据格式在.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>