У меня есть файл web.config, который выглядит примерно так:
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.webServer>
<rewrite>
<rules>
....
</rule>
</rules>
</rewrite>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development"/>
<environmentVariable name="COMPLUS_ForceENC" value="1"/>
</environmentVariables>
</aspNetCore>
</system.webServer>
</configuration>
Это работает с IIS Express, но с Kestrel не удается с: ConfigurationErrorsException: Unrecognized configuration section system.webServer.
Следуя примеруhttps://weblog.west -wind.com / posts / 2019 / Mar / 16 / ASPNET-Core-Hosting-on-IIS-with-ASPNET-Core-22 , я могу это исправить, поместив <system.webServer>
внутритег location
, подобный следующему:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" />
</handlers>
<!-- hostingModel is the new property here -->
<aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll"
stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout"
hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
Но эта конфигурация завершается неудачно в IIS Express с похожей ошибкой.
Так в чем здесь решение?Я хочу использовать 1 web.config для обоих развертываний, и я не знаю, как это сделать.
Спасибо.