[c#] 애플리케이션을 호스팅하는 DNX 프로세스의 프로세스 ID를 확인하는 중에 오류가 발생했습니다.

응용 프로그램을 시작하려고 할 때이 오류 메시지가 나타납니다.

애플리케이션을 호스팅하는 DNX 프로세스의 프로세스 ID를 확인하는 중에 오류가 발생했습니다.

문제를 해결할 수있는 방법이 있습니까?



답변

나에게 문제는 Visual Studio를 닫고 삭제하여 해결되었습니다.

project.lock.json

Visual Studio를 다시 시작합니다.

편집 : 나는 RC1을 사용하고 있었다.


답변

Microsoft는 릴리스 정보에 설명 된대로 호스팅 모델을 변경했습니다 .

에서 project.json종속성을 대체

“Microsoft.AspNet.Server.IIS”: “1.0.0-beta7”

“Microsoft.AspNet.Server.Kestrel”: “1.0.0-beta8”


에서 web.confighandlers부분은 제외한 모든 항목을 제거

<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />

완료 web.config는 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
  </system.webServer>
</configuration>

RC1 : RC1을 사용하는 동안 솔루션 폴더를 이동 한 후 오류가 발생했습니다. binobj폴더를 삭제 한 후 모든 것이 다시 작동했습니다.
user764754가 언급했듯이 단순히 Visual Studio를 다시 시작하는 것도 도움이 될 수 있습니다.


답변

이 문제가있는 다른 사람들을 위해, 다른 솔루션이 작동하지 않는 경우-이 스레드에서 답을 찾았습니다.
SSL을 사용하도록 강제 : 애플리케이션을 호스팅하는 DNX 프로세스의 프로세스 ID를 확인하는 동안 오류가 발생했습니다.

프로젝트에서 SSL을 사용하거나 강제로 실행하면 먼저 디버깅 (CTRL + F5)없이 실행하면 로컬 SSL 인증서를 생성하라는 메시지가 표시되고 그 후에 디버깅이 작동하고 오류가 사라집니다.


답변

그만한 가치가 있는 것은 httpPlatformHandler가 주어진 실행 파일 (이 경우 dnx)을 실행할 수없는 여러 문제에 대해 붉은 청어 역할을 할 수 있는 일반적인 오류 메시지 입니다.

제 경우에는 launchSettings.json 파일을 오해 한 직접적인 결과로이 오류를 받았습니다. 내 응용 프로그램에 대해 https 끝점을 활성화하려고 시도했지만 실수로 내 applicationUrl에서 sslport를 복제했습니다. 내가 이해했듯이 applicationUrl은 응용 프로그램의 http 호스트 이름 / 포트 여야하며 sslPort를 입력하여 sslPort에 제공된 포트의 applicationUrl에 제공된 호스트 이름에서 https를 수신하도록 IIS Express 환경을 구성합니다.

예를 들면 :

  "iisSettings": {
     "windowsAuthentication": false,
     "anonymousAuthentication": true,
     "iisExpress": {
       "applicationUrl": "http://localhost:44000",
       "sslPort": 44300
      }
  }

localhost에서 다음 두 끝점을 제공합니다.

  • 포트 44400을 통한 HTTP
  • 포트 44300을 통한 HTTPS

applicationUrl 및 sslPort 설정에 동일한 포트가있는 경우이 스레드와 관련된 오류가 수신됩니다.

이것은 RC1 에서 나에게 사실입니다.


답변

업그레이드가 가능합니다 . 여기 에서 새로 업데이트 된 템플릿을 살펴 봐야 했습니다 .

wwwroot에서 web.config를 업데이트하여 다음을 포함하십시오.

<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>

또한
project.json을 수정 하여 Kestrel사용하여 프로젝트가 디버그하는 방식을 변경해야합니다 .

"commands": {
  "web": "Microsoft.AspNet.Server.Kestrel"
},
"dependencies": {
  "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
  "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
}

및 hosting.ini 수정

server=Microsoft.AspNet.Server.Kestrel

이를 startup.cs의 Configure 메서드에 추가합니다.

// Add the platform handler to the request pipeline.
app.UseIISPlatformHandler(); 

이러한 참조를 추가하면 프로젝트를 실행할 수 있습니다.


답변

http 대신 https : // localhost 를 시작하려는 프로젝트 구성으로 인해이 문제가 발생했습니다 . “디버그”아래에서 웹 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 “앱 URL”을 https 대신 http로 조정합니다.
여기에 이미지 설명 입력

이 문제를 해결하는 또 다른 방법은 실행기를 “IIS Express”에서 “웹”으로 전환하는 것입니다.


답변

Visual Studio에서 :

이 튜토리얼을 따르는 동안 비슷한 오류가 발생했습니다.

먼저 “dotnet.exe의 프로세스 ID를 확인하는 동안 오류가 발생했습니다 …”라는 오류가 발생했습니다. 다음 단계를 수행했습니다.

  1. CTRL + F5를 디버깅하지 않고 애플리케이션을 시작했습니다.
  2. 그런 다음 localhost에 대해 자체 서명 된 인증서를 수락하는 옵션이 제공되었습니다.
  3. 프롬프트에 따라 프로젝트 디버그 설정에서 SSL을 활성화 한 후 복사 한 AppUrl을 사용하여 내 애플리케이션을 방문 할 수있었습니다.

이 오류를 해결하기 위해 몇 가지 작업을 시도하는 동안이 오류도 발생했습니다. “응용 프로그램을 호스팅하는 DNX 프로세스의 프로세스 ID를 확인하는 동안 오류가 발생했습니다.”

응용 프로그램의 다른 인스턴스가 실행되어 발생했습니다.

이 답변이 누군가에게 도움이 되었기를 바랍니다.