Когда я использую «do tnet publi sh» или папку publi sh с конфигурацией «Release» или «Debug», web.config корректно преобразуется (устанавливая два упомянутых значения). Однако, когда я выбираю конфигурацию «Staging» (которая имеет запись конфигурации сборки, соответствующий appsettings.Staging. json и соответствующий web.Staging.config), значения не заменяются автоматически.
Что мне нужно сделать, чтобы правильно преобразовать web.configs для любой конфигурации сборки?
Соответствующая часть csproj:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<IncludeOpenAPIAnalyzers>true</IncludeOpenAPIAnalyzers>
<RootNamespace>...</RootNamespace>
<AssemblyName>...</AssemblyName>
<Configurations>Debug;Release;Staging;Production;Development</Configurations>
<LangVersion>8.0</LangVersion>
<RazorCompileOnBuild>true</RazorCompileOnBuild>
<RazorCompileOnPublish>true</RazorCompileOnPublish>
<TreatWarningsAsError>true</TreatWarningsAsError>
</PropertyGroup>
web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="development" />
<environmentVariable name="COMPLUS_ForceENC" value="1" />
</environmentVariables>
</aspNetCore>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
</system.webServer>
</location>
</configuration>