具有不同.net版本的多个应用程序可以在同一台服务器机器上运行吗
Posted
技术标签:
【中文标题】具有不同.net版本的多个应用程序可以在同一台服务器机器上运行吗【英文标题】:Can Multiple Applications with different .net versions can run in same Server Machine 【发布时间】:2022-01-13 12:03:19 【问题描述】:考虑 .net 版本为 4、4.5 和 4.6.1 的 3 应用程序 它们都可以托管在同一台机器上吗,如果它们托管在同一台服务器机器上,它们是在最新的 .net 版本还是它们的目标版本上运行。什么是 CLR 版本,我们需要考虑 CLR 版本还是框架版本。
【问题讨论】:
是的,您可以在单个服务器上运行多个 .NET 版本,您只需为每个所需安装运行时。 @Austin - 除了 4.6.1 是 4.5 的就地升级,与 4.0 相同 @Damien_The_Unbeliever 都作为 4.0 运行时出现,因此它们都针对“相同”版本。 对,所以只有一个运行时,用于 4.6.1。不是“运行时”。 @Damien_The_Unbeliever 我的回答很笼统,因为.NET 2 和 4 可以同时存在。当然,他的具体示例将使用相同的示例。 【参考方案1】:虽然Multiple versions of .NET on the same server 回答了在单台计算机上运行不同 .NET 版本的许多常规部分,但您的问题与 .NET Framework 4.x 就地升级更相关,因此它本身就是一种。
您应该知道,您在“3 个 .net 版本为 4、4.5 和 4.6.1 的应用程序”中提到的三个 Web 应用程序在编译时绑定到每个 .NET Framework 版本。当此类应用程序部署到 Windows 计算机时,它们由单个运行时托管,即安装在该计算机上的实际 .NET Framework(可能是现代计算机上的 .NET Framework 4.7.x 或 4.8)。由于它是一个单一的 .NET Framework,因此您也只能看到一个 CLR 版本。
总体而言,在您的情况下,您不必太担心,只需在 IIS 应用程序池设置中选择正确的运行时即可。当您的 Web 应用程序使用较旧的 .NET Framework 版本或 .NET Core 时,您只需担心并了解更多信息。
.NET Framework 确实有生命周期并且可以退役,您可以从 Microsoft 的专门文章中了解这一点。今年早些时候,当政策经历了一些巨大的变化时,我写了一个总结,https://blog.lextudio.com/dotnet-framework-lifecycle-changes/ 在您的主机上,您必须升级到受支持的版本,否则事情将会中断。
【讨论】:
以上是关于具有不同.net版本的多个应用程序可以在同一台服务器机器上运行吗的主要内容,如果未能解决你的问题,请参考以下文章
我可以在同一台机器上运行多个elasticsearch实例进行日志聚合吗?