如何从 dotnet 发布配置 dotnet core web.config?

Mat*_*t W 5 iis web-config visual-studio-code asp.net-core-3.1

我的dotnet core 3.1 webapp tasks.json

        "env": {
            "ASPNETCORE_ENVIRONMENT": "Development",
            "ASPNETCORE_URLS": "http://localhost:5000",
            "LOCAL": "true"
        },
Run Code Online (Sandbox Code Playgroud)

当我运行时,dotnet publish调试 web.config 包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\App.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess" />
    </system.webServer>
  </location>
</configuration>
Run Code Online (Sandbox Code Playgroud)

因为我想在 IIS 下托管,所以这就是我希望它包含的内容,所以现在我需要手动编辑它:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\App.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="OutOfProcess">
        <environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
          <environmentVariable name="ASPNETCORE_URLS" value="http://localhost/app" />
          <environmentVariable name="LOCAL" value="true" />
        </environmentVariables>
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如何配置我的解决方案或.vscode .json文件以在运行时进行此更改dotnet publish

Jal*_*hal 6

1)您可以使用以下命令在发布时添加环境变量:

dotnet publish -c Debug -r /p:EnvironmentName=Development
Run Code Online (Sandbox Code Playgroud)

2)在发布配置文件中添加环境变量

<PropertyGroup>
  <EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

3)修改工程文件(.CsProj)文件

参考链接:

发布到IIS,设置环境变量

如何设置 ASPNETCORE_ENVIRONMENT 来考虑发布 ASP.NET Core 应用程序?