发布dot net core 2应用程序后启动应用程序时发生错误

Ehs*_*adi 8 c# iis-7.5 .net-core asp.net-core

在IIS 7.5上发布.net core 2应用程序后,出现此错误:

启动应用程序时发生错误。

有什么方法可以强制点网核心提交准确的错误消息,而不是此类常规消息?

Yus*_*sh0 19

您可以尝试通过控制台直接在IIS服务器上启动应用程序。

dotnet myapp.dll
Run Code Online (Sandbox Code Playgroud)

您应该在那里出现更详细的错误。

  • 请注意,如果您的应用程序编译为 exe,则不需要包含 `dotnet`,只需执行 `myapp.exe` (2认同)

Bil*_* Jo 6

我发现这个链接有用:如何解决:“发生错误......。总之:

  1. aspNetCoreyour的元素中web.config,将stdoutLogEnabled属性更改为true
<aspNetCore processPath=".\myapp.exe"
            stdoutLogEnabled="true" <!-- this'n -->
            stdoutLogFile=".\logs\stdout" />
Run Code Online (Sandbox Code Playgroud)
  1. 根据 的值stdoutLogFilelogs在您的应用程序根目录中创建一个文件夹。(注意:stdout路径部分指的是日志文件前缀,而不是目录树中的文件夹。)

  2. 运行您的请求并打开日志文件。

有关 ASP.NET Core 模块的附加信息:ASP.NET Core 模块

完成后不要忘记禁用日志记录!


B.H*_*deh 1

如果您将应用程序部署到共享主机,则无法通过控制台运行它。因此我建议执行以下步骤:

\n
    \n
  1. 打开你的 web.config
  2. \n
  3. 更改 stdoutLogEnabled=true
  4. \n
  5. 创建一个日志文件夹(不幸的是,AspNetCoreModule 默认情况下不会为您创建该文件夹。如果您忘记创建日志文件夹,事件查看器中将记录一条错误:警告:无法创建stdoutLogFile \\?\\YourPath\\logs\\stdout_timestamp.log,错误代码 = -2147024893。)
  6. \n
  7. 值 \xe2\x80\x9c.\\logs\\stdout\xe2\x80\x9d 的 \xe2\x80\x9cstdout\xe2\x80\x9d 部分实际上引用的是文件名,而不是文件夹。这有点令人困惑。
  8. \n
  9. 再次运行您的请求,然后打开 \\logs\\stdout_*.log 文件
  10. \n
  11. 玩得开心 ;)
  12. \n
\n

请注意,\xe2\x80\x93 完成故障排除后,您将需要关闭此功能,因为它会影响性能。

\n