由于ErrorCode ='0x80004005:80008083,.NET Core应用程序无法在IIS中启动

Kei*_*ith 63 iis .net-core kestrel-http-server asp.net-core visual-studio-2017

我有一个.NET Core应用程序.它在VS2017和Kestrel的本地运行.它在IIS下本地运行.但是,在服务器上,它无法以502.5 - Process Failure消息开头.

在事件日志中,我得到更多细节:

具有物理根'C:...\my-app-folder \'的应用程序'...'无法使用命令行'"dotnet"启动进程.\ MyApp.dll',ErrorCode ='0x80004005:80008083.

该应用程序的早期版本在同一台服务器上运行良好,唯一的区别是它们是使用VS2017RC(2&3)发布的,这是第一次使用完全发布的VS2017.

什么ErrorCode = '0x80004005 : 80008083.意思?

我如何解决它?

tha*_*cao 42

目前,有一种简单的方法可以查看实际错误是什么.从App服务打开控制台部分,然后尝试运行dotnet应用程序.从那里我们可能会收到完整的错误消息和跟踪信息: 在此输入图像描述

  • 您所说的“应用服务”是什么,我在哪里可以找到它? (4认同)
  • 这是获得一个好/可理解的错误消息的最佳方法!+1 (2认同)
  • 似乎仅适用于 Azure 应用服务 (2认同)

Kei*_*ith 24

错误代码:0x80004005表示文件丢失或无法访问.

子代码:80008083似乎是版本冲突.

此错误表示需要在服务器上安装不同版本的dotnet.

  • 我在哪里可以找到这些错误的参考?我有ErrorCode ='0x80004005:e0434352.谢谢! (5认同)

Set*_*Set 16

由于VS2017 RC附带了新版本的.NET Core SDK(.NET Core 1.0.4 SDK 1.0.1),因此您还需要在服务器上更新框架.

  • 其实我也有这个问题.这听起来很奇怪.我以前有一个使用VS 2015构建的项目,并且之前在服务器上设置了Core SDK v1.1.1.现在,当使用新构建的项目迁移到VS 2017时出现错误,并且必须安装v1.0.4,这非常愚蠢.为什么会这样?不确定我是在关注正在发生的事情...... (4认同)

Joh*_*tad 16

一个可行的解决方案是我在Visual Studio中将其添加到我的发布配置文件中:

<PublishWithAspNetCoreTargetManifest>False</PublishWithAspNetCoreTargetManifest>
Run Code Online (Sandbox Code Playgroud)

我相信这将使主机使用所需的文件来运行应用程序,而不是依赖于目标清单中设置的规范,这可能是错误的(服务器上的运行时/ sdk或本地与这些规范冲突).


lko*_*lko 15

我向Azure App Service发布了一个新的.NET Core 2.0 Web应用程序,并发现了此错误.

点击网站:

HTTP错误502.5 - 进程失败 此问题的常见原因:应用程序进程无法启动应用程序进程已启动但已停止应用程序进程已启动但无法侦听已配置的端口

调试: 使用Azure Application Insights和App Service - 高级工具(KUDU)查看工具 - 调试控制台 - 浏览LogFiles文件夹eventlog.xml有一个日志行:

物理根'D:\ home\site\wwwroot \'的应用程序'MACHINE/WEBROOT/APPHOST/xxxx'无法使用命令行'dotnet.\ WebApp.dll',ErrorCode ='0x80004005:8000808c启动进程.

<Provider Name="IIS AspNetCore Module"/>
<EventID>1000</EventID>
<Level>1</Level>
<Task>0</Task>
<EventData>
<Data>Application 'MACHINE/WEBROOT/APPHOST/xxxx' with physical root 'D:\home\site\wwwroot\' failed to start process with commandline 'dotnet .\WebApp.dll', ErrorCode = '0x80004005 : 8000808c.</Data>
</EventData>
</Event>
Run Code Online (Sandbox Code Playgroud)

这个答案:删除 azure中的wwwroot文件夹并再次从VS发布,尽管最初没有遗留的Core 1.1应用程序,但仍为我工作.

在应用程序中启动Azure控制台并删除wwwroot文件夹的内容,然后重新部署.

RMDIR wwwroot /S /Q

进一步的测试 在此之后对测试非常有帮助,并且在按照相同的方式工作时,然后偏离,但是您需要找到错误. https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs