ASP.NET Core publish error: An error occurred while starting the application

ASP.NET Core publish error: An error occurred while starting the application

我试图在 Windows Server 2008 R2 上发布我的 ASP.NET 核心应用程序,但出现此错误: "An error occurred while starting the application."

没有更多的描述!

我能做什么?

请看一下这个post:https://scottsauber.com/2017/04/10/how-to-troubleshoot-an-error-occurred-while-starting-the-application-in-asp-net-core-on-iis这会给你一个很好的入门工具包,当这种错误出现时,你可以得到基本的日志信息。
这可能是错误的启动配置或与安装的 .NET Core 运行时有关,但如果没有更多技术信息很难说。

尽管有很多事情可能出错,正确的方法是实际解决错误,但我的情况更简单:

I forgot to configure the release output path for Swagger

您可以按照以下步骤进行操作:

  1. 右键单击您的项目
  2. 点击Properties
  3. 单击 Build 选项卡
  4. 并在 Output 部分选中 XML documentation file 复选框。

这将使用 XML 文件自动完成路径,但您可以将其更改为您想要的任何内容。

我从https://mycodepad.wordpress.com/2018/08/23/publishing-asp-net-core-an-error-occurred-while-starting-the-application/

复制粘贴解决方案
  1. 尝试启用登录 web.config

<aspNetCore stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />

  1. 如果没有日志,检查事件查看器会有这样的东西:

无法创建 stdoutLogFile C:\inetpub... ErrorCode = -2147024891.

  1. 尝试在另一个驱动器上设置网站,例如D:\inetpub\website

在我的例子中,它在另一个驱动器上工作正常,但它不适用于 C:\inetpub\website 我想这是一种安全权限问题。

如果它没有帮助,您至少应该查看引导您更进一步的日志。

尽管我是 pc 上的管理员,并且 .NET Framework 4.7.1 下的其他网站 运行 可以从 C:\inetpub\ asp.net 核心站点有问题

这不是真正的错误。你必须找到真正的错误。要查看真正的错误,请执行以下操作。请记住,一旦发现问题并修复它,就必须撤消这些更改。您不应该向最终用户显示真正的错误。

在您的开发环境中,尝试 adding/updating 到 web.config 以查看真正的错误

<aspNetCore processPath=".\MyApplication.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
      <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
      </environmentVariables>
    </aspNetCore>

在你的program.csadd/update下面看到真正的错误

public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .CaptureStartupErrors(true)
                .UseSetting("detailedErrors", "true")
                .UseStartup<Startup>()
                .Build();