69
votes

I have a .NET Core application. It runs locally with VS2017 and Kestrel. It runs locally under IIS. However, on the server it fails to start with a 502.5 - Process Failure message.

In the event logs I get more detail:

Application '...' with physical root 'C:...\my-app-folder\' failed to start process with commandline '"dotnet" .\MyApp.dll', ErrorCode = '0x80004005 : 80008083.

Previous builds of the application work fine on the same server, the only difference being that they were published with VS2017RC (2&3) and this is the first build with the fully released VS2017.

What does ErrorCode = '0x80004005 : 80008083. mean?

How do I fix it?

12
have you updated to the .NET Core 1.0.4 SDK 1.0.1 on Server? VS2017RC is shipped with this version.Set
@Set installing that worked, cheers.Keith

12 Answers

20
votes

As VS2017 RC is shipped with the new version of .NET Core SDK (.NET Core 1.0.4 SDK 1.0.1), you need to update framework on server as well.

51
votes

For now, there is a simple way to see what the actual error is. Open Console section from the App service, then try to run the dotnet app. From there we may get the full error message and trace info: enter image description here

26
votes

Error code: 0x80004005 means a file missing or can't be accessed.

Sub-code: 80008083 appears to be a version conflict.

This error means a different version of dotnet needs to be installed on the server.

19
votes

A possible solution that worked for me is that I added this to my publish profile in Visual Studio:

<PublishWithAspNetCoreTargetManifest>False</PublishWithAspNetCoreTargetManifest>

I believe this will make the host use the required files to run the app instead of relying on specifications set in a target manifest which could be wrong (either the runtime/sdk on server or your local is in conflict with these specifications).

15
votes

I had published a new .NET Core 2.0 web app to Azure App Service and hit this error.

Hitting the site:

HTTP Error 502.5 - Process Failure Common causes of this issue: The application process failed to start The application process started but then stopped The application process started but failed to listen on the configured port

Debugging: Using Azure Application Insights & the App Service - Advanced Tools (KUDU) looking at the Tools - Debug Console - Browsing the LogFiles folder eventlog.xml had a log row:

Application 'MACHINE/WEBROOT/APPHOST/xxxx' with physical root 'D:\home\site\wwwroot\' failed to start process with commandline '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>

Solution

This answer: Deleting the wwwroot folder in azure and publish again from VS, worked for me despite not having a legacy Core 1.1 app initially.

Launch Azure Console within the app and delete the contents of the wwwroot folder then redeploy.

RMDIR wwwroot /S /Q

Further testing Following this was very helpful for testing and it works when followed identically, then deviate however you need to find errors. https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs

3
votes

I had this problem as well and thought I'd post my solution. I'm not sure if this is intended or not, but I don't think dotnet core 2 supports Space characters in your Project Name.

I created and published a Project called "Mikes App" and when trying to run the site with IIS I would get this error (.NET Core app unable to start in IIS due to ErrorCode = '0x80004005'). When I enabled stdoutLogs through the web.config file I found the error:

No executable found matching command "dotnet-.\Mikes"

Which I found strange because the web.config file did correctly show the dll path under arguments which was ".\Mikes App.dll"

<aspNetCore processPath="dotnet" arguments=".\Mikes App.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />

I created a new dotnet core 2 project in Visual Studio and named it "Mikes-App" instead, re-published it and updated the directory on my IIS site.

Then the site worked fine!

0
votes

I faced the same issue and I only had dotnet cor 2 installed on my server, so by installing this link you are able to run your code in other versions of dot net core. dont forget to restart IIS. https://download.microsoft.com/download/6/A/2/6A21C555-B042-46EA-BBB4-368AACCB3E25/DotNetCore.1.0.8_1.1.5-WindowsHosting.exe

0
votes

For me I had to make sure I had the latest .Net Core Runtime and Windows Hosting Module installed, all of which are available from https://www.microsoft.com/net/download/windows (newest versions should always be available here).

Specifically, I installed:

The full .Net Framework 4.7.1 runtime might not be needed if you truly do only host .Net Core apps on your server, but I installed it to be safe.

0
votes

For .net core 2.0

  1. Check the appropriate DotNetCore.2.0.Y-WindowsHosting is installed. If your project is 2.1 then install 2.1. accordingly)
  2. A computer restart is "required" after windows hosting is installed.
  3. Open powershell; cd installation_directory; dotnet abcd.dll This is a pre control you can check after you install WindowsHosting...
0
votes

All I had to do to fix this error was reboot my development computer and recompile & re-publish the site. VS was not responding properly.

0
votes

I'm running on IIS, and I had error 0x80004005 : 0, which I found in the Event Viewer -> Application Logs. It was being caused because my application pool did not have access to the website folder location.

I resolved it by changing the application pool identity to one with access to the folder.

0
votes

I've found you have to install the hosting version that is exactly the same as what you have compiled in VS2017. Later versions aren't backwards compatible (at least none I've tried are). So 2.2.8 won't run a 2.2.1 version, for example, even though you would expect a minor revision to do so.