【问题标题】:Net Core Framework Versions on IISIIS 上的 Net Core 框架版本
【发布时间】:2021-01-15 14:17:31
【问题描述】:

是否有可能在 IIS Web 服务器上运行了两个应用程序。一个运行 .NET Core 2.0,另一个运行 2.1?

【问题讨论】:

标签: .net iis .net-core


【解决方案1】:

.NET Core 对于在同一 Web 服务器上运行的不同版本非常灵活。

将应用程序发布为自包含,将允许您在同一网络服务器上运行任意多个不同版本。见.NET Core application publishing overview

仅当您作为 框架相关 发布时,您才需要在 Web 服务器上安装特定的 .NET Core 运行时。即便如此,只要安装了运行时,您也可以发布不同版本的应用程序。

与 .NET Framework 不同的是,您将看到您的应用程序池对于 .NET CLR 版本将具有“无托管代码”。

如果以上链接无法解决您的问题,请提供更多详细信息。

【讨论】:

  • 感谢您了解有关 .net 核心运行时的信息
【解决方案2】:

我可以清楚地回答你是的。 IIS 可以托管多个不同版本的 .net 核心应用程序。

对于不同版本的 .net core 应用,您只需要在您的机器上安装正确版本的 SDK、Runtime 和 Hosting Bundle。无论是 2.0 和 2.1,甚至是 2.1、3.1 和 5.0,都可以在 IIS 中运行。

这是 .net core 5.0 应用程序。我使用服务器变量来反映当前版本。

IServerVariablesFeature serverVars = HttpContext.Features.Get<IServerVariablesFeature>();
string iis_version = serverVars["SERVER_SOFTWARE"];

这是一个空的 .net core 2.1 应用程序的索引页。

这两个应用程序都在我的本地 IIS 上运行。 如果要在 IIS 上部署不同的核心应用程序,只需要注意一件事。不要将它们部署在同一个应用程序池中。

【讨论】:

  • 如果问题已经解决,请标记,以便帮助其他有类似问题的人。
猜你喜欢
  • 2016-11-04
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-02
相关资源
最近更新 更多