.NET 3.5 运行时和 .NET 4 运行时兼容性

Posted

技术标签:

【中文标题】.NET 3.5 运行时和 .NET 4 运行时兼容性【英文标题】:.NET 3.5 runtime and .NET 4 runtime compatibility 【发布时间】:2011-03-12 08:39:49 【问题描述】:

是否可以使用使用 .NET 4 构建的插件来运行基于 .NET 3.5 构建的应用程序?

【问题讨论】:

【参考方案1】:

请查看以下链接以获得答案。

HowToMakeVeriosnCompatible

DotNetVersions

【讨论】:

【参考方案2】:

您将需要重建(不完全正确,检查更新).NET 3.5 应用程序以面向 .NET 4.0,因为默认情况下它将在 .NET 2.0 运行时中启动,然后不支持插件。

如果机器只安装了 .NET 4.0 框架,则应用程序将不会运行除非重新构建以专门针对它

更新:

嗯,毕竟你不需要重建。 Chris 的评论让我开始思考,我刚刚使用为 .NET 3.5 构建的控制台应用程序进行了测试。您可以在其应用程序配置文件中指定以下块:

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

如果配置中存在这种情况,应用程序将使用 .NET 4.0 运行时。

【讨论】:

不一定。如果这是一个 asp.net 应用程序,那么您可以简单地将应用程序池更改为在 .net 4 框架下执行,并对 web.config 进行适当的修改。这些都不需要有目的的重建。但是,如果它是 winforms 或类似的应用程序,则需要重新构建/重新部署。 @Chris Lively,我不知道的那个...感谢您提供的信息。 @Chris Lively,你让我思考,如果你手动更改配置文件,你不需要重建,我用控制台应用程序测试,但我想它也应该与 winforms 相同. 感谢您的帮助!但是,在我的 WinForms 应用程序的配置文件中使用建议的启动元素会导致它在启动时崩溃。 @Christian,似乎最安全的选择是重建并重新定位到 .NET 4.0。【参考方案3】:

是/否。要运行 4.0 组件,您必须在 .NET 4.0 运行时的上下文中运行。但是,您的 3.5 应用程序可以在 4.0 运行时中运行。

【讨论】:

以上是关于.NET 3.5 运行时和 .NET 4 运行时兼容性的主要内容,如果未能解决你的问题,请参考以下文章

检测是不是从在 3.5 上运行的 C# 代码安装了 MSBuild/.net 4?

您需要同时安装 .net 3.5 和 4.0 还是只需要 .net 4?

在 .NET Framework 4 中运行基于 .NET Framework 3.5 的应用程序出现 HTTP 错误 500.19 - 内部服务器错误

在 Windows 10 上运行 dot net 3.5 应用程序

WCF 与 3.5 和 4.0 一起使用

VS2022 安装.NET 3.5/.NET 4/.NET 4.5/.NET 4.5.1目标包的方法