Asp net 将托管环境更改为 Development

Adi*_*ari 7 asp.net asp.net-core

我正在尝试将我的 asp.net 核心托管环境更改为开发。我已经做的是:

  1. 运行此命令:

    set ASPNETCORE_ENVIRONMENT=Development
    
    Run Code Online (Sandbox Code Playgroud)
  2. 更改系统中的环境变量:

    在此处输入图片说明

  3. 运行这些命令:

    dotnet restore
    
    dotnet watch run 
    
    Run Code Online (Sandbox Code Playgroud)

我只是在projectName.csproj文件中看到有评论说它运行生产,也许这就是问题所在。

<Target Name="RunWebpack" AfterTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<Exec Command="npm install" />
<Exec Command="node node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js --env.prod" />
<Exec Command="node node_modules/webpack/bin/webpack.js --env.prod" />
Run Code Online (Sandbox Code Playgroud)

但是现在我在我的项目中看到的是托管环境:生产 ,我想将其更改为环境,因为当我更改客户端更改(如 HTML、CSS)时,我看不到实时更改。

537*_*037 6

要在 Windows 中设置 ASPNETCORE_ENVIRONMENT 环境变量,请在 cmd 中运行以下命令:

setx ASPNETCORE_ENVIRONMENT "Development"
Run Code Online (Sandbox Code Playgroud)

或者

使用尝试web.config像:

<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
 -->
<system.webServer>
    <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath=".\MyApplication.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false">
        <environmentVariables>
            <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
        </environmentVariables>
    </aspNetCore>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)


Soc*_*ock 3

ASPNETCORE_ENVIRONMENT为系统设置变量后,您必须在运行之前打开一个新的命令窗口dotnet run

环境变量在 shell 的生命周期内被缓存,因此现有窗口不会获取对环境变量的更改

我在这里写了一篇关于如何实现这一目标的文章:https ://andrewlock.net/how-to-set-the-hosting-environment-in-asp-net-core/#atthecommandline