问题的原因是根应用程序和子应用程序都添加了
aspNetCore
处理器,导致配置系统崩溃。你可以通过打开
详细错误消息
在Azure门户中,然后在
D:\home\LogFiles\DetailedErrors
. 您将看到以下错误:
无法添加唯一键属性“name”设置为“aspNetCore”的“add”类型的重复集合项
解决这个问题有两种方法。
第一种是使用
location
标记以防止继承。具体来说,更改根应用程序的
web.config
从以下内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\myapp.dll" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" />
</system.webServer>
</configuration>
对于这样的事情:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\myapp.dll" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" />
</system.webServer>
</location>
</configuration>
第二种方法是删除
<handlers>
来自的部分
附属的
doc
在下面
子应用程序的配置
):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<aspNetCore processPath="dotnet" arguments=".\mySubApp.dll" stdoutLogEnabled="false" stdoutLogFile="\\?\%home%\LogFiles\stdout" />
</system.webServer>
</configuration>