【发布时间】:2016-08-31 00:08:30
【问题描述】:
我有 ASP.NET Core 应用程序 (Web Api)。文档已经解释了working with multiple environments,但是它未能解释发布网站时如何设置aspnetcore_environment。
假设我有 3 个环境 Development、Staging 和 Production
在经典的 ASP.NET Web 应用程序中,我曾经创建 3 个构建配置。
Development、Staging和Production(如下图所示)。然后是 3 个.pubxml文件,每个配置一个。我是否也需要对ASP.NET Core应用程序使用相同的方法?如何在
.pubxml文件中设置aspnetcore_environment?如果问题 1 中指定的方法已过时,那么替代方法是什么? (我使用 Jenkins 进行 CI)
更新 1
我知道我必须设置 ASPNETCORE_ENVIRONMENT 但是我不明白我们在哪里设置这个?在开发过程中,我可以在launchSettings.json 的配置文件中设置它,但是问题是我们在发布到登台或生产时如何设置它?我们是否在目标服务器本身上设置环境变量?
更新 2
我发现文章here 解释了设置环境变量的不同方法。这部分回答了我的问题。但是,当我发布应用程序时,发布过程在发布 appsettings.{env.EnvironmentName}.json
时不遵守环境变量
我为那个问题创建了单独的post
【问题讨论】:
-
Pass hosting environment for self-hosting 的可能重复项。那里已经回答了这个问题。只需使用命令行/powershell/bash/azureportal 设置环境变量
标签: configuration asp.net-core .net-core asp.net-core-1.0 coreclr