据我了解,如果未正确配置web.config,则会发生此错误。但是,当我发布应用程序时,将生成以下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=".\Lotus.Server.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 85a43eb6-3576-401d-b025-a15a2cc377b6-->
我首先想到安装URL Rewrite,但这并不能解决问题。我要强调的是,几乎所有的解决方案都尝试过任何想法?
错误页面如下所示:
答案 0 :(得分:2)
对我来说,它缺少 URL 重写模块
答案 1 :(得分:1)
我遇到了同样的问题,并且试图修复4天。然后我找到了解决方案。
首先,您需要下载dotnet托管2.2.2
然后在安装后尝试使用cmd 重新启动IIS (以admin身份运行,然后编写iisreset)。 如果错误页面已更改,我们将朝着正确的方向发展:)
现在应该说您正在使用错误的模块(的确如此)。
打开IIS ,进入您的网站并检查已安装的模块。在列表中,您应该可以看到AspNetCoreModule,但看不到AspNetCoreModuleV2。
转到: %ProgramFiles%\ IIS \ Asp.Net核心模块\ V2 \ 并复制aspnetcorev2.dll
然后进入%SystemRoot%\ system32 \ inetsrv \并粘贴
现在,在此之后,打开%SystemRoot%\ system32 \ inetsrv \中的配置文件夹,然后打开applicationHost。
重要 在此阶段,您需要关闭iis
现在找到此行:
<add name="AspNetCoreModule" image="%SystemRoot%\system32\inetsrv\aspnetcore.dll" />
并在其下添加:
<add name="AspNetCoreModuleV2" image="%SystemRoot%\system32\inetsrv\aspnetcorev2.dll" />
与此相同:
<add name="AspNetCoreModule" />
在其下添加:
<add name="AspNetCoreModuleV2" />
现在保存它,覆盖旧的,并启用IIS。转到您的网站,检查模块,然后在列表中应该可以看到AspNetCoreModuleV2:
答案 2 :(得分:0)
通过在我的发布文件夹中生成的 web.config 中将“AspNetCoreModuleV2”更改为“AspNetCoreModule”来解决此问题,即来自
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
到
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
答案 3 :(得分:0)
这让我摸不着头脑,因为在 LocalHost 上一切正常 - 错误发生在生产服务器上。
重建站点后,我意识到我已经删除了生产服务器上的站点文件夹及其内容。
当我替换站点时,我已将其发布到我的服务器节点而没有重新创建站点文件夹,因此很明显服务器无法访问我的 web.config 文件,因为它无法找到站点文件夹。
吸取教训!希望它可以拯救其他人跑到 500.19 兔子洞。