将网站部署到IIS时,它返回500.19错误;意味着配置错误。
这是我的网络配置文件(自动生成)
<?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=".\SiteManager.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
</configuration>
在网上搜索后,我找到了“解决方案”。哪个似乎不起作用。
一切都在这样:
<system.web>
<customErrors mode="Off" />
<compilation debug="true" />
</system.web>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true" />
</system.webServer>
但似乎不起作用。
我在IIS上有两个网站。一个是.NET Framework,另一个是.NET Core。
上面的配置用于.NET Core。
在IIS中,我可以访问/查看标准.NET网站的设置,但对于Core网站,它将不允许我查看设置,显示错误框和提及web.config文件错误。< / p>
关键信息:
编辑
因此,在阅读了一个被评论的博客后:我已经按照Microsoft文档中的一些步骤进行了一些更改(该文档链接在博客中)。首先,我不再有错误页面;我有一个新页面,如下所示。
最初,我得到一个错误页面,其中仅显示“内部服务器错误”,没有有意义的信息-完全没有错误详细信息。
我从Microsoft的文档中安装了.NET Core托管服务(类似的东西,对不起,如果没有帮助的话),添加了权限并将应用程序池更改为“无托管代码”,这给了我上面的图像。
更新
在研究了设置并阅读了Microsoft文档之后,我设法找到了解决方案。
首先:我删除了该应用-我认为最好重新开始。然后,我创建了一个新的IIS网站。
一旦这样做,我就会进入网站的“应用程序池”。在“基本设置”中,有一个名为“ .NET CLR版本”的下拉选项,需要将其设置为“无托管代码”。
另一步骤:我进入了应用程序池的“高级设置”,并将“标识”更改为对虚拟目录具有权限的内容。在这种情况下为“ LocalSystem”。
再次发布只是为了确保所有内容都是新的,启动了localhost并且一切正常!
p.s。感谢您的评论!
答案 0 :(得分:1)