Keith
Keith

Reputation: 155892

.NET Core app unable to start in IIS due to ErrorCode = '0x80004005 : 80008083

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?

Upvotes: 72

Views: 94701

Answers (13)

User456
User456

Reputation: 103

If you're getting

Failed to start application '/LM/W3SVC/2/ROOT/{ControllerName}', ErrorCode '0x80004005'. Process Id: 29720. File Version: 16.0.21269.0. Description: IIS ASP.NET Core Module V2.

error when running the app in Visual Studio 2019 or another version.

Solution

You need to close the VS Project and delete .vs hidden folder located in your project folder and restart your VS Project.

You have to Enable Hidden Items option from Windows Explorer so that you can view the hidden .vs folder.

Upvotes: 0

MC9000
MC9000

Reputation: 2423

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.

Upvotes: 0

Jordan Ryder
Jordan Ryder

Reputation: 2832

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.

Upvotes: 0

Mike
Mike

Reputation: 93

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!

Upvotes: 3

Roger D.
Roger D.

Reputation: 1

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.

Upvotes: 0

Johan Herstad
Johan Herstad

Reputation: 692

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).

Upvotes: 20

ozgurozkanakdemirci
ozgurozkanakdemirci

Reputation: 473

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...

Upvotes: 0

thangcao
thangcao

Reputation: 1909

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

Upvotes: 53

deadlydog
deadlydog

Reputation: 24434

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.

Upvotes: 0

lko
lko

Reputation: 8299

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://learn.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs

Upvotes: 17

Ehsan Zargar Ershadi
Ehsan Zargar Ershadi

Reputation: 24853

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

Upvotes: 0

Keith
Keith

Reputation: 155892

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.

Upvotes: 27

Set
Set

Reputation: 49799

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.

Upvotes: 20

Related Questions