Я только что столкнулся с проблемой преобразования web.config в ядре asp.net.
Есть два файла: base web.config и web.prod-zone-a.config. Моя цель - использовать преобразование внутри web.prod-zone-a.config при публикации моего проекта. У меня есть следующие параметры конфигурации "prod-zone-a" в .csproj:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'prod-zone-a|AnyCPU' ">
<IntermediateOutputPath>obj\Debug\netcoreapp1.1</IntermediateOutputPath>
<DebugSymbols>true</DebugSymbols>
<Optimize>false</Optimize>
<DefineConstants>TRACE;DEBUG;NETCOREAPP1_1</DefineConstants>
<Configuration>prod-zone-a</Configuration>
</PropertyGroup>
web.prod-zone-a.config выглядит так:
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore>
<environmentVariables xdt:Transform="Replace">
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="prod-zone-a" />
</environmentVariables>
</aspNetCore>
</system.webServer>
Я попытался запустить публикацию двумя командами:
dotnet msbuild /t:Publish /p:OutputPath=c:\delivery /p:Configuration=prod-zone-a
а также
dotnet publish --configuration prod-zone-a --output c:\delivery
Но никакое преобразование не применяется к web.config при выводе - только значение по умолчанию. Я что-то пропускаю в конфигурации или выполнении команды?