ErrorCode = '0x80004005 : 80008083으로 인해 IIS에서 .NET Core 앱을 시작할 수 없음
.NET Core 애플리케이션이 있습니다. VS2017 및 Kestrel을 사용하여 로컬에서 실행됩니다. IIS에서 로컬로 실행됩니다. 그러나 서버에서는 502.5 - Process Failure
메시지 와 함께 시작되지 않습니다 .
이벤트 로그에서 더 자세한 정보를 얻을 수 있습니다.
물리적 루트가 'C : ... \ my-app-folder \'인 응용 프로그램 '...'이 명령 줄 ' "dotnet". \ MyApp.dll'을 사용하여 프로세스를 시작하지 못했습니다. 오류 코드 = '0x80004005 : 80008083.
응용 프로그램의 이전 빌드는 동일한 서버에서 잘 작동하지만, 유일한 차이점은 VS2017RC (2 & 3)로 게시되었으며 완전히 릴리스 된 VS2017의 첫 번째 빌드입니다.
무슨 ErrorCode = '0x80004005 : 80008083.
뜻이야?
어떻게 고치나요?
VS2017 RC는 새 버전의 .NET Core SDK ( .NET Core 1.0.4 SDK 1.0.1 )와 함께 제공되므로 서버에서도 프레임 워크를 업데이트해야합니다.
현재로서는 실제 오류가 무엇인지 확인하는 간단한 방법이 있습니다. 앱 서비스에서 콘솔 섹션을 연 다음 dotnet 앱을 실행 해 봅니다. 거기에서 전체 오류 메시지와 추적 정보를 얻을 수 있습니다.
오류 코드 : 0x80004005
파일이 없거나 액세스 할 수 없음을 의미합니다.
하위 코드 : 80008083
버전 충돌로 보입니다.
이 오류는 서버에 다른 버전의 dotnet을 설치해야 함을 의미합니다.
나를 위해 일한 가능한 해결책은 Visual Studio의 게시 프로필에 이것을 추가 한 것입니다.
<PublishWithAspNetCoreTargetManifest>False</PublishWithAspNetCoreTargetManifest>
이로 인해 호스트가 잘못된 대상 매니페스트에 설정된 사양에 의존하는 대신 앱을 실행하는 데 필요한 파일을 사용하게 될 것이라고 생각합니다 (서버의 런타임 / sdk 또는 로컬이 이러한 사양과 충돌 함).
새 .NET Core 2.0 웹앱을 Azure App Service에 게시하고이 오류가 발생했습니다.
사이트 방문 :
HTTP 오류 502.5-프로세스 실패이 문제의 일반적인 원인 : 응용 프로그램 프로세스를 시작하지 못했습니다. 응용 프로그램 프로세스가 시작되었지만 중지되었습니다. 응용 프로그램 프로세스가 시작되었지만 구성된 포트에서 수신하지 못했습니다.
디버깅 : 푸른 응용 프로그램 통찰력 및 앱 서비스를 사용 - 고급 도구 (쿠두)을보고 도구 - 디버그 콘솔 - 브라우징 LogFiles 참고를 폴더 eventlog.xml은 로그 행을했다 :
물리적 루트가 'D : \ home \ site \ wwwroot \'인 애플리케이션 'MACHINE / WEBROOT / APPHOST / xxxx'가 'dotnet. \ WebApp.dll'명령 줄을 사용하여 프로세스를 시작하지 못했습니다. 오류 코드 = '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>
해결책
이 답변 : azure 에서 wwwroot 폴더 를 삭제하고 VS에서 다시 게시 하면 처음에 레거시 Core 1.1 앱이 없었음에도 불구하고 저에게 효과적 이었습니다.
앱 내에서 Azure Console을 시작하고 wwwroot 폴더의 콘텐츠를 삭제 한 다음 다시 배포합니다.
RMDIR wwwroot /S /Q
추가 테스트 다음은 테스트 에 매우 도움이되었으며 동일하게 따를 때 작동하지만 오류를 찾아야 할 필요가 있습니다. https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs
나도이 문제가 있었고 내 솔루션을 게시 할 것이라고 생각했습니다. 이것이 의도 된 것인지 아닌지 확실하지 않지만 dotnet core 2가 프로젝트 이름에서 공백 문자를 지원한다고 생각하지 않습니다.
"Mikes App"이라는 프로젝트를 만들고 게시했으며 IIS로 사이트를 실행하려고하면이 오류가 발생합니다 (ErrorCode = '0x80004005'로 인해 IIS에서 시작할 수없는 .NET Core 앱). web.config 파일을 통해 stdoutLogs를 활성화했을 때 오류를 발견했습니다.
"dotnet-. \ Mikes"명령과 일치하는 실행 파일을 찾을 수 없습니다.
web.config 파일이 ". \ Mikes App.dll"인수 아래에 dll 경로를 올바르게 표시했기 때문에 이상하게 발견되었습니다.
<aspNetCore processPath="dotnet" arguments=".\Mikes App.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
Visual Studio에서 새 dotnet core 2 프로젝트를 만들고 대신 "Mikes-App"이라는 이름을 지정하고 다시 게시하고 IIS 사이트의 디렉터리를 업데이트했습니다.
그런 다음 사이트가 잘 작동했습니다!
나는 같은 문제에 직면했고 내 서버에 dotnet cor 2 만 설치했기 때문에이 링크를 설치하면 다른 버전의 dot net core에서 코드를 실행할 수 있습니다. IIS를 다시 시작하는 것을 잊지 마십시오. https://download.microsoft.com/download/6/A/2/6A21C555-B042-46EA-BBB4-368AACCB3E25/DotNetCore.1.0.8_1.1.5-WindowsHosting.exe
저에게는 최신 .Net Core Runtime 및 Windows Hosting Module이 설치되어 있는지 확인해야했으며, 모두 https://www.microsoft.com/net/download/windows 에서 다운로드 할 수 있습니다 (최신 버전은 항상 여기에서 다운로드 할 수 있어야 함 ).
구체적으로 다음을 설치했습니다.
- .Net Core 런타임-https: //www.microsoft.com/net/download/thank-you/dotnet-runtime-2.0.5-windows-x64-installer
- Windows Server 호스팅 런타임-https: //www.microsoft.com/net/download/thank-you/dotnet-runtime-2.0.5-windows-windows-server-hosting-installer
- 닷넷 프레임 워크 4.7.1 런타임 - https://www.microsoft.com/net/download/thank-you/net471
서버에서 .Net Core 앱만 호스트하는 경우에는 전체 .Net Framework 4.7.1 런타임이 필요하지 않을 수 있지만 안전을 위해 설치했습니다.
.net 코어 2.0의 경우
- Check the appropriate DotNetCore.2.0.Y-WindowsHosting is installed. If your project is 2.1 then install 2.1. accordingly)
- A computer restart is "required" after windows hosting is installed.
- Open powershell; cd installation_directory;
dotnet abcd.dll
This is a pre control you can check after you install WindowsHosting...
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.
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.
'Nice programing' 카테고리의 다른 글
Hibernate 4에서 세션 팩토리 생성 (0) | 2020.11.27 |
---|---|
내 모든 디스크 공간을 차지하는 Docker 컨테이너 로그 (0) | 2020.11.27 |
`this-> field` 대신`this-field` 작성에 대해 경고하는 GCC 옵션이 있습니까? (0) | 2020.11.27 |
웹 사이트 스크린 샷을 만드는 명령 줄 프로그램 (Linux) (0) | 2020.11.27 |
데이터베이스에서 일반 텍스트 암호 암호화 / 해싱 (0) | 2020.11.27 |