将ASP.NET部署到IIS返回500

时间:2018-11-23 09:09:47

标签: c# asp.net iis asp.net-core webserver

将网站部署到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>

关键信息:

  • Windows Server 2016,
  • IIS版本10.0.14393.0

编辑

因此,在阅读了一个被评论的博客后:我已经按照Microsoft文档中的一些步骤进行了一些更改(该文档链接在博客中)。首先,我不再有错误页面;我有一个新页面,如下所示。

enter image description here

最初,我得到一个错误页面,其中仅显示“内部服务器错误”,没有有意义的信息-完全没有错误详细信息。

我从Microsoft的文档中安装了.NET Core托管服务(类似的东西,对不起,如果没有帮助的话),添加了权限并将应用程序池更改为“无托管代码”,这给了我上面的图像。

更新

在研究了设置并阅读了Microsoft文档之后,我设法找到了解决方案。

首先:我删除了该应用-我认为最好重新开始。然后,我创建了一个新的IIS网站。

一旦这样做,我就会进入网站的“应用程序池”。在“基本设置”中,有一个名为“ .NET CLR版本”的下拉选项,需要将其设置为“无托管代码”。

另一步骤:我进入了应用程序池的“高级设置”,并将“标识”更改为对虚拟目录具有权限的内容。在这种情况下为“ LocalSystem”。

再次发布只是为了确保所有内容都是新的,启动了localhost并且一切正常!

p.s。感谢您的评论!

1 个答案:

答案 0 :(得分:1)

  1. 按Win键+ R打开运行窗口
  2. 在“运行”窗口中,输入“ OptionalFeatures.exe”
  3. 在功能窗口中,单击:“ Internet信息服务”
  4. 点击:“万维网服务”
  5. 单击:“应用程序开发功能”
  6. 检查功能。