【发布时间】:2017-04-19 10:35:45
【问题描述】:
我尝试在 Windows Server 2008 R2 上发布我的 ASP.NET Core 应用程序,但出现以下错误: “启动应用程序时出错。”
不再赘述!
我能做什么?
【问题讨论】:
标签: asp.net asp.net-core asp.net-core-mvc visual-studio-2017 asp.net-core-1.1
我尝试在 Windows Server 2008 R2 上发布我的 ASP.NET Core 应用程序,但出现以下错误: “启动应用程序时出错。”
不再赘述!
我能做什么?
【问题讨论】:
标签: asp.net asp.net-core asp.net-core-mvc visual-studio-2017 asp.net-core-1.1
请看这篇帖子:https://scottsauber.com/2017/04/10/how-to-troubleshoot-an-error-occurred-while-starting-the-application-in-asp-net-core-on-iis,它将为您提供一个很好的入门工具包,以便在出现此类错误时获取基本日志信息。
这可能是一个糟糕的启动配置或与安装的 .NET Core 运行时有关,但如果没有更多技术信息就很难说。
【讨论】:
startup 错误并且标准输出错误日志没有帮助您可以在代码中启用额外的启动选项以输出在开发过程中有用的实际完整原因。看看我的博客文章。 pkula.blogspot.co.uk/2017/11/…
这不是一个真正的错误。你必须找到真正的错误。要查看真正的错误,请执行以下操作。请记住,一旦确定问题并修复它,您就必须撤消这些更改。您不应该向最终用户显示真正的错误。
在您的开发环境中,尝试将其添加/更新到 web.config 以查看真正的错误
<aspNetCore processPath=".\MyApplication.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
</environmentVariables>
</aspNetCore>
在您的 program.cs 添加/更新下面查看真正的错误
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.CaptureStartupErrors(true)
.UseSetting("detailedErrors", "true")
.UseStartup<Startup>()
.Build();
【讨论】:
无法创建 stdoutLogFile C:\inetpub...ErrorCode = -2147024891。
在我的情况下,它可以在另一个驱动器上正常工作,但它不适用于 C:\inetpub\website 我想这是一种安全权限问题。
如果它没有帮助,您至少应该查看引导您走得更远的日志。
虽然我是 PC 上的管理员,但 .NET Framework 4.7.1 下的其他网站从 C:\inetpub\ 运行正常,但 asp.net 核心站点存在问题
【讨论】:
尽管有很多事情可能出错,正确的方法是实际解决错误,但我的情况更简单:
忘记为 Swagger 配置发布输出路径
您可以按照以下步骤进行操作:
Properties
Build标签Output 部分选中XML documentation file 复选框。 这将使用 XML 文件自动完成路径,但您可以将其更改为您想要的任何内容。
【讨论】: