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

时间:2018-04-05 08:27:19

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

在IIS 7.5上发布我的.net core 2应用后,我收到此错误:

  

启动应用程序时出错。

有没有办法强制dot net core提交准确的错误信息而不是这样的一般信息?

7 个答案:

答案 0 :(得分:6)

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

dotnet myapp.dll

你应该在那里得到更详细的错误。

答案 1 :(得分:4)

有很多原因可以提示这个错误,在这里找出一步一步的流程来找出正确的错误。

Link : an error occurred while starting the application

答案 2 :(得分:1)

部署后在环境中出现错误时,我遵循以下步骤。

服务器:Windows Server 2016

IIS版本:10.0

第一步:检查所有配置是否最新

第2步:验证Cors配置。我们已经启用了cors,并且允许的列表是config的一部分。

我能够通过这两个步骤解决问题。

部署后,大多数情况下将使用appsettings.config。确保配置正确。希望这会有所帮助。

答案 3 :(得分:0)

我的问题很简单,就是IIS没有权限在应用程序文件所在的文件夹中写入信息。

这是一个非常糟糕的错误。

希望它会对别人有所帮助,而不会浪费很多时间。

答案 4 :(得分:0)

我发现此链接有用:How to troubleshoot: “An error occurred...。总结:

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

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

有关ASP.NET Core模块的其他信息:ASP.NET Core Module

别忘了禁用日志记录!

答案 5 :(得分:0)

不要沮丧,因为错误没有提供任何线索。要获得错误,有一个简单的方法

  1. 打开命令提示符。
  2. 导航到映射到 IIS 的已发布文件夹位置。
  3. 输入 dotnet yourapplicationddllName.dll
  4. 现在打开 http://localhost:5000 或 https://localhost:5001。这将打开您的应用程序。
  5. 做你的事。您将在命令提示符控制台中收到错误消息。

当一些关键版本被延迟时,这种方法为我节省了好几次 干杯

答案 6 :(得分:-1)

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

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

注意 - 您需要在完成故障排除后关闭此功能,因为它会影响性能。