阅读这两个问题/答案,我能够在IIS 8.5服务器上运行Asp.net 5应用程序.
Asp.net vNext早期测试版在Windows服务器上发布到IIS
问题是,即使在IIS上运行,Web应用程序仍然使用env.EnvironmentName值Development.
另外,我想在同一台服务器上运行同一个Web(Staging,Production)的两个版本,所以我需要一个方法来分别为每个Web设置变量.
这该怎么做?
我用dotnet核心创建了一个简单的webapi项目。
我正在尝试使用ASPNETCORE_ENVIRONMENT系统变量设置运行环境。
C:\devel\apps\webapi>set ASPNETCORE_ENVIRONMENT=Production
C:\devel\apps\webapi>echo %ASPNETCORE_ENVIRONMENT%
Production
C:\devel\apps\webapi>dotnet run
Using launch settings from C:\devel\apps\webapi\Properties\launchSettings.json...
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
User profile is available. Using 'C:\Users\SSCARANO\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
Hosting environment: Development
Content root path: C:\devel\apps\webapi
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
Run Code Online (Sandbox Code Playgroud)
我尝试打开其他控制台,并将其设置为以管理员身份登录,但该应用程序始终在开发模式下运行。
我看到了这个(/sf/answers/2807172931/)相关问题,但我没有使用IIS
environment app-config environment-variables production-environment .net-core
我将 .NET Core 应用程序部署到同一台服务器两次,一次用于 QA,一次用于生产。目前,我让他们每个人都使用不同的本地用户来运行 IIS 应用程序池,并相应地将 ASPNETCORE_ENVIRONMENT 变量设置为“qa”和“production”。
这似乎不起作用,两个站点都运行生产配置,我认为这是默认配置。
到目前为止我看过的东西:
.NET 似乎忽略了环境变量。
有没有其他人设法让用户级环境变量与 .NET 核心部署一起工作?
附加信息:我可以在系统级别设置 ASPNETCORE_ENVIRONMENT,两个站点都会选择并运行它。在没有系统变量的情况下这样做根本行不通。