.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 - 内部服务器错误