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
您可以按照以下步骤进行操作:
- 右键单击您的项目
- 点击
Properties
- 单击
Build
选项卡
- 并在
Output
部分选中 XML documentation file
复选框。
这将使用 XML 文件自动完成路径,但您可以将其更改为您想要的任何内容。
复制粘贴解决方案
- 尝试启用登录 web.config
<aspNetCore stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
- 如果没有日志,检查事件查看器会有这样的东西:
无法创建 stdoutLogFile C:\inetpub... ErrorCode = -2147024891.
- 尝试在另一个驱动器上设置网站,例如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();
我试图在 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
您可以按照以下步骤进行操作:
- 右键单击您的项目
- 点击
Properties
- 单击
Build
选项卡 - 并在
Output
部分选中XML documentation file
复选框。
这将使用 XML 文件自动完成路径,但您可以将其更改为您想要的任何内容。
复制粘贴解决方案- 尝试启用登录 web.config
<aspNetCore stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
- 如果没有日志,检查事件查看器会有这样的东西:
无法创建 stdoutLogFile C:\inetpub... ErrorCode = -2147024891.
- 尝试在另一个驱动器上设置网站,例如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();