【发布时间】:2018-09-15 07:57:33
【问题描述】:
现在,我花了数小时寻找如何设置 ASPNETCORE_ENVIRONMENT,但我只找到了两种(实用的)方法:
- 创建一个 web.[MYCONFIGURATION].config 文件并添加以下内容,其中 [MYCONFIGURATION] 类似于 Development 或 Release:
web.[MYCONFIGURATION].config:
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
- 在已部署的服务器上设置 IIS 变量以启用 ASPCORE_ENVIRONMENT
以下是每个问题:
- 由于 .NET Core 使用 appsettings.json 文件进行配置(据我所知,web.config 是从中生成的),如果我们创建 web.config,我们的数据库连接字符串和其他设置等内容就会丢失我们自己。
- 我们在企业级的多应用程序环境中运行,结合了 .NET Core 和非 Core ASP.NET 应用程序(我无权访问),因此仅为我们的应用程序更改 IIS 的设置是不是一个选项。
需要注意的是,我们正在使用 TFS 的 Build/Release 发布到我们的开发服务器。我曾希望添加“开发”的 BuildConfiguration 变量也可以设置 ASPNETCORE_ENVIRONMENT,但不幸的是它没有。
我可以做些什么来只为我们的应用程序设置 ASPNETCORE_ENVIRONMENT 而不需要 web.config 或 IIS 设置?或者,如果目前不可能,鉴于我所描述的限制,我怎样才能使这两个选项之一起作用?
【问题讨论】:
-
您是否在开发服务器上设置了环境变量?您可以通过系统属性添加它,在高级选项卡上,单击环境变量按钮。变量是 ASPNETCORE_ENVIRONMENT。
-
@Derek 正如我在问题中提到的那样,我无权访问开发服务器,即使我这样做了,我也无法在其上设置环境变量,因为它正在为多个其他 Web 应用程序提供服务多应用企业环境。
-
构建配置是项目设置的集合,它决定了您的 IDE 将如何构建您的项目。它不会在您的开发服务器上设置 environmentVariable 。看来您的问题与 TFS 无关,您可以删除 TFS 标记。
-
@CeceDong-MSFT 有没有办法在不配置 IIS 的情况下设置环境变量?
-
@CeceDong-MSFT 我完全不同意这与 TFS 无关。整个问题都与如何使用 TFS 构建工具来配置目标环境有关,这也是我自己来看这个线程的确切原因。
标签: tfs configuration web-config asp.net-core-2.0