【发布时间】:2019-10-23 18:20:55
【问题描述】:
我使用 Visual Studio 2019 发布了我的 Core 2.0 网站。
我可以从命令行运行网站而不会出错:
c:\www>dotnet My.Site.Web.dll
Hosting environment: Production
Content root path: c:\www
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.
我可以使用端口 5000 在浏览器中毫无问题地加载网站。
我还创建了一个指向 c:\www 的 IIS 站点。应用程序池正在使用“无托管代码”。
我安装了以下内容:
- Microsoft .NET Core 2.1.13 - Windows 服务器托管
- Microsoft .NET Core 运行时 2.1.13 (x64)
- Microsoft .NET Core 运行时 2.1.13 (x86)
- 来自 Visual Studio 的 Microsoft .NET Core SDK 3.0.100 (x64)
如果我尝试打开 IIS 站点,我会收到错误消息“HTTP 错误 500.19 - 内部服务器错误 请求的页面无法访问,因为该页面的相关配置数据无效。配置文件\?\C:\www\web.config"
它所说的“配置源”是“-1: 0:"
托管包刚刚在几分钟前重新安装。
在 IIS 管理器中,当我打开网站并双击“ASP”小部件时出现错误:
“执行此操作时出错。 细节: 文件名 \?\C:\www\web.config 错误:"
我有第二台开发机器,具有相同的网站、相同的路径、Core 运行时和 SDK,并且该网站可以在该机器上运行。我将工作站点复制到该站点未运行的计算机上,但仍然无法解决问题。
似乎没有安装 IIS 托管捆绑包,但我在几分钟前安装了它。
我的 web.config 是由 Visual Studio 生成的,如下所示:
<?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=".\My.Site.Web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
</configuration>
【问题讨论】:
-
任何错误信息?或许你可以参考这篇帖子windowswebhostingreview.com/…
-
我在帖子中引用了错误。这不是很有帮助。我确实回答了我自己的问题。不,那个帖子没有帮助。不过谢谢。
-
500 内部错误是一般问题。请检查服务器上的完整错误消息。
-
IIS 日志没有提供更多详细信息。
-
如果您不知道进一步的错误,则很难。我按照上面的教程进行操作,我可以毫无问题地发布。再说一遍,确保您的应用程序池设置为无托管代码。