使用 ASP.NET Core 在 Angular 项目模板中将开发环境设置为本地生产

Ami*_*wat 1 development-environment asp.net-core angular

在 ASP.NET Core 中使用 Angular 项目模板,其中 An angular 版本为 5,Dotnet Core 2.1

在这里,我尝试将本地环境设置为“生产”作为此命令

$env:ASPNETCORE_ENVIRONMENT = "Production"
Run Code Online (Sandbox Code Playgroud)

然后开始 DOTNET WATCH RUN

在此之后,我的环境仍然处于“开发模式”

那么有什么问题吗?我认为我做得对 在此处输入图片说明

Kir*_*kin 5

在 中./Properties/launchSettings.json,您将拥有如下所示的内容:

{
    ...
    "profiles": {
        ...
        "DatingAppDemo": {
            ...
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            }
        }
    }    
}
Run Code Online (Sandbox Code Playgroud)

请注意,此处的值ASPNETCORE_ENVIRONMENT设置为Development,它会覆盖您使用$env命令设置的值。

要解决此问题,您有三个选择:

  1. 只需ASPNETCORE_ENVIRONMENT从更改DevelopmentProductionin launchSettings.json
  2. 使用dotnet watch run --no-launch-profile,指示dotnet进程不要从 加载设置launchSettings.json
  3. 将附加配置文件添加到launchSettings.json. 例如:

    "DatingAppDemoProduction": {
        ...
        "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Production"
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    您可以将此新配置文件与dotnet watch run --launch-profile DatingAppDemoProduction.

除非您决定使用选项 2,否则您将不再需要进行设置,$env:ASPNETCORE_ENVIRONMENT因为这将launchSettings.json按照所述进行。