gpt4 book ai didi

.net-core - Dotnet 核心忽略 ASPNETCORE_ENVIRONMENT 变量

转载 作者:行者123 更新时间:2023-12-04 18:19:42 24 4
gpt4 key购买 nike

我用 dotnet core 创建了一个简单的 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.

我尝试打开一个不同的控制台,并将其设置为以管理员身份登录,但该应用程序始终在开发模式下运行。

我看到了这个 ( https://stackoverflow.com/a/40102470/47633) 相关的问题,但我没有使用 IIS

最佳答案

我怀疑您遇到的问题是 ASPNETCORE_ENVIRONMENT变量在 C:\devel\apps\webapi\Properties\launchSettings.json 中定义文件。

方式dotnet run工作是加载这个文件并找到第一个配置文件 commandNameproject ,并使用它来运行应用程序。如果您尚未对该文件进行任何更改,则很有可能会出现 environmentVariables该配置文件的部分包含 ASPNETCORE_ENVIRONMENT变量设置为 Development .

如果您想在 Production 中运行应用程序,您有 2 个选择模式:

  • 更改现有配置文件并将变量设置为 Production , 意思是每次执行 dotnet run ,它将在生产模式下运行应用程序;或
  • 添加一个新的配置文件,其中 ASPNETCORE_ENVIRONMENT变量设置为 Production .如果您执行 dotnet run --launch-profile <name-of-your-new-profile>,则可以使用它。
  • 关于.net-core - Dotnet 核心忽略 ASPNETCORE_ENVIRONMENT 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51850953/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com