iis - dot net core download




ErrorCode='0x80004005:80008083로 인해.NET Core 앱을 IIS에서 시작할 수 없습니다. (8)

.NET Core 애플리케이션이 있습니다. VS2017 및 Kestrel을 사용하여 로컬로 실행됩니다. IIS에서 로컬로 실행됩니다. 그러나 서버에서 502.5 - Process Failure 메시지로 시작하는 502.5 - Process Failure 합니다.

이벤트 로그에서 자세한 정보를 얻습니다.

실제 루트 'C : ... \ my-app-folder \'의 응용 프로그램 '...'이 명령 줄 'dotnet ". \ MyApp.dll', ErrorCode = '0x80004005 : 80008083'으로 프로세스를 시작하지 못했습니다.

이전 버전의 응용 프로그램은 동일한 서버에서 제대로 작동하지만 VS2017RC (2 및 3)로 게시 된 유일한 차이점은 완전히 릴리스 된 VS2017을 사용한 첫 번째 빌드입니다.

ErrorCode = '0x80004005 : 80008083. 의미는 무엇입니까?

어떻게 수정합니까?


.net 핵심 2.0 용

  1. 적절한 DotNetCore.2.0.Y-WindowsHosting이 설치되어 있는지 확인하십시오. 프로젝트가 2.1이면 2.1을 설치하십시오. 따라서)
  2. Windows 호스팅이 설치된 후 컴퓨터를 다시 시작해야합니다.
  3. 열린 PowerShell; cd installation_directory; dotnet abcd.dll 이것은 dotnet abcd.dll 을 설치 한 후 확인할 수있는 사전 제어입니다 ...

Azure App Service에 새로운 .NET Core 2.0 웹 앱을 게시하고이 오류가 발생했습니다.

사이트 타격 :

HTTP 오류 502.5 - 프로세스 실패이 문제의 일반적인 원인 : 응용 프로그램 프로세스를 시작하지 못했습니다 응용 프로그램 프로세스가 시작되었지만 중지되었습니다 응용 프로그램 프로세스가 시작되었지만 구성된 포트에서 수신 대기하지 못했습니다.

디버깅 : Azure Application Insights & App Service - Tools ( 도구) - Debug Console (디버그 콘솔) - LogFiles 폴더 찾아보기 eventlog.xml의 Logging 행은 다음과 같습니다.

실제 루트 '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>

해결책

이 답변 : 하늘 에서 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


VS2017 RC는 새로운 버전의 .NET Core SDK ( .NET Core 1.0.4 SDK 1.0.1 )와 함께 제공되므로 서버의 프레임 워크도 업데이트해야합니다.


가능한 솔루션은 Visual Studio의 내 게시 프로파일에 추가했습니다.

<PublishWithAspNetCoreTargetManifest>False</PublishWithAspNetCoreTargetManifest>

이것은 호스트가 잘못 될 수있는 타겟 매니페스트에 설정된 사양에 의존하는 대신 응용 프로그램을 실행하는 데 필요한 파일을 사용하게한다고 믿습니다 (서버의 런타임 / SDK 또는 로컬이이 사양과 충돌합니다).


나는이 문제도 가지고 있었고 나의 해결책을 게시 할 것이라고 생각했다. 이것이 의도적인지 아닌지는 잘 모르겠지만, dotnet core 2가 프로젝트 이름에서 공백 문자를 지원한다고 생각하지 않습니다.

나는 "Mikes App"이라는 프로젝트를 만들었으며 IIS로 사이트를 실행하려고 할 때이 오류가 발생합니다 (.NET 코어 앱은 ErrorCode = '0x80004005'로 인해 IIS에서 시작할 수 없습니다). web.config 파일을 통해 stdoutLogs를 활성화했을 때 오류가 발견되었습니다.

일치하는 명령이 없습니다 "dotnet -. \ Mikes"

나는 이상한 것을 발견했다. 왜냐하면 web.config 파일은 ". \ Mikes App.dll"

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

Visual Studio에서 새로운 dotnet core 2 프로젝트를 만들고 대신 "Mikes-App"이라고 명명하고이를 다시 게시하고 IIS 사이트의 디렉토리를 업데이트했습니다.

그런 다음 사이트가 정상적으로 작동했습니다.


오류 코드 : 0x80004005 는 파일이 없거나 액세스 할 수 없음을 의미합니다.

하위 코드 : 80008083 이 버전 충돌로 나타납니다.

이 오류는 다른 버전의 dotnet이 서버에 설치되어야 함을 의미합니다.


저에게는 최신 .Net Core Runtime과 Windows Hosting Module이 설치되어 있는지 확인해야했습니다.이 모듈은 모두 https://www.microsoft.com/net/download/windows 에서 구할 수 있습니다 (최신 버전은 항상 여기에 있어야합니다.) ).

특히, 나는 다음을 설치했다.

서버에서 .Net Core 응용 프로그램을 실제로 호스트하는 경우 전체 .Net Framework 4.7.1 런타임이 필요하지 않을 수 있지만 안전을 위해 설치했습니다.


현재로서는 실제 오류가 무엇인지를 알 수있는 간단한 방법이 있습니다. App 서비스 섹션을 열고 dotnet 앱을 실행하십시오. 거기에서 전체 오류 메시지와 추적 정보를 얻을 수 있습니다.





kestrel-http-server