asp.net-core - 托管具有多个版本 dotnet 运行时(如 Django 的 virtualenv)的 ASP.NET Core?

标签 asp.net-core

我有一个运行 CentOS 7.1 和 Apache 的虚拟机来为 ASP.NET Core 1.1 应用程序提供服务。 我想让单个 Web 应用程序使用它自己的目标运行时。 例如:

eShop Web-> dotnet core 1.0

博客网络 -> dotnet core 1.1

测试站点 -> 2.0.0 beta ...

我读了一些文章并建议使用 docker,但我的虚拟机只有 8GB 内存并限制 CPU 功率,所以我看起来是不是像 Django 虚拟环境那样针对每个应用程序的不同版本。

谢谢你。

最佳答案

您不需要任何特殊的工具来实现这一点。 .NET Core 支持并行安装。

dotnet 通过使用 (appname).runtimeconfig.json 文件的内容来选择要使用的运行时的方式。当您构建应用程序时,SDK 将生成此文件。如果您针对“netcoreapp1.0”进行编译,则构建输出将包含此文件,并且它应如下所示:

{
  "runtimeOptions": {
    "framework": {
      "name": "Microsoft.NETCore.App",
      "version": "1.0.4"
    }
  }
}

如果您已将 dotnet 安装到 /usr/share/dotnet/,当您执行“dotnet app.dll”时,它将从 /usr/share/dotnet/shared 加载运行时/Microsoft.NETCore.App/1.0.4/

有关此文件的更多详细信息,请参阅 https://github.com/dotnet/cli/blob/rel/1.0.1/Documentation/specs/runtime-configuration-file.md

关于asp.net-core - 托管具有多个版本 dotnet 运行时(如 Django 的 virtualenv)的 ASP.NET Core?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45306275/

相关文章:

c# - 动态更改 Asp.Net Core 中的连接字符串

c# - 如何将 AzureAD 和 AzureADBearer 添加到 asp.net core 2.2 web api

azure - NET Core应用程序无法访问Azure Key Vault

c# - 如何从现有的 Windows 服务启动 AspNetCore 应用程序

c# - 向用户添加 2fa 身份验证器

asp.net-core - 415 ASP.NET Core Web API 中不支持的媒体类型

c# - 如何在 docker 容器中运行 selenium chrome 驱动程序?

asp.net-core - ASP.NET Core 中 Web.config 转换的等价物是什么?

c# - 如何在 ASP.NET Core 中获取 TLS/SSL 相关信息?

Azure 看不到 Index.cshtml