首页 > 解决方案 > ASP.NET Core 站点未在 IIS 上运行,从命令行运行良好

问题描述

我正在使用 ASP.NET Core 构建一个新的 Web 应用程序,并让它在 Visual Studio 的调试中运行良好。

我已经使用滚动文件接收器添加了 Serilog,它在 Visual Studio 中也运行良好。

然后我发布了应用程序(直接从 VS,也使用 AppVeyor),我已经将它复制到我的网络服务器,在 IIS 中添加了一个站点等。

现在我收到“500 - 内部服务器错误”。

没有日志写入文件系统,甚至没有标准输出文件。我添加了文件夹,添加了 IIS_IUSRS 帐户和应用程序池帐户的写入权限。

仍然没有日志!

尝试从命令行运行该站点可以正常工作,并且使用 Serilog 进行日志记录可以正常工作。

所以这与IIS有关吗?但是没有任何日志,很难知道问题出在哪里。有任何想法吗?

奖金信息:

我已经在服务器上安装了 dotnet-sdk-2.1.200-win-x64 包。

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=".\MySite.dll" stdoutLogEnabled="true" stdoutLogFile=".\app_data\stdout" />
  </system.webServer>
</configuration>
<!--ProjectGuid: B9DE9F34-1A9E-4D35-B6CE-74209A6CB9FA-->

网站根文件夹的权限(应用程序池用户相同):

根权限

app_data 权限(以下是日志和标准输出文件夹),对两个用户都相同:

app_data 权限

更新

我刚刚安装了 AspNetCore.2.0.7.RuntimePackageStore_x64 和 dotnet-runtime-2.0.7-win-x64 但它仍然无法正常工作。

标签: c#asp.net-coreiis-10

解决方案


它最终成为我缺少的“托管捆绑安装程序”,其他提到的软件包还不够。安装最新的 2.0.8,然后重新启动就可以了。

现在 Serilog 也在记录。


推荐阅读