我有一个运行 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/