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


101

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

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

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

답변:


151

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

project.lock.json

Visual Studio를 다시 시작합니다.

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


2
RC1 프로젝트에서 내 문제 해결
— Nadav Hury 2015

@NadavHury 동일 여기에 :)
— ManyRootsofAllEvil

1
PluralSight에서 다운로드 한 예제 RC1 앱으로 발생한 문제를 해결했습니다. 감사합니다
— tomRedox

5
더 이상 작동하지 않습니다. np 마이크로 소프트. 우리는 그것을 알아낼 것입니다. 다시하고 다시하고 ... 다시

1
어디야 project.lock.json?
— CodyBugstein

34

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

에서 project.json종속성을 대체

"Microsoft.AspNet.Server.IIS": "1.0.0-beta7"

와

"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8"


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

<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을 사용하는 동안 솔루션 폴더를 이동 한 후 오류가 발생했습니다. bin및 obj폴더를 삭제 한 후 모든 것이 다시 작동했습니다.
user764754가 언급했듯이 단순히 Visual Studio를 다시 시작하는 것도 도움이 될 수 있습니다.


새 호스팅 모델에서는 web.config를 전혀 사용하지 않고 완전히 제거 할 수 있습니다. httpPlatformHandler 및 Startup.cs는 IIS를 어느 정도 우회하므로 web.config를 대체합니다.
— cygnim

2
1.0.0-beta8을 먼저 설치 한 다음 VS 2015에서 새 ASP.NET 프로젝트를 만든 후 최신 템플릿을 사용합니다. 모든 항목이 정확하지만 여전히 Domysee와 동일한 오류가 발생합니다. 누군가 "% DNX_PATH %"및 "% DNX_ARGS %"의 의미를 설명해 주시겠습니까?
— okieh

1
프로젝트에 web.config가 필요하지 않습니다. 기본적으로 HttpPlatformHandler를 파이프 라인에 추가하고 IIS에서 Kestrel 서버로 트래픽을 보내는 최소 web.config 파일이 컴파일 중에 생성됩니다. 그래서 당신이 맞습니다. web.config 파일이 있지만 프로젝트 코드베이스에는 필요하지 않습니다.
— cygnim

3
VS를 다시 시작하면 RC-1로 삭제가 필요하지 않습니다.
— user764754

2
나는 RC1과 동일한 문제가 있었는데, 해결책은 web.config (wwwroot에서)를 삭제하는 것이 었습니다
— rad

30

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

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


이것은 나를 위해 그것을 고쳤습니다. 인증서가 설치되지 않은 새 컴퓨터로 프로젝트를 마이그레이션했습니다. 감사.
— Pace

좋았어, 그거야! 지침에 SSL 강제 적용이 포함되어 있으므로 "Facebook을 사용하여 인증 활성화 ..."페이지에서이 내용을 기록 할 것입니다.
— N8allan 16.10.14

Ctrl + F5를 눌러도 작동하지 않습니다. F5는 내 iis 익스프레스 인증서를 신뢰 하기 위해 이것을 실행 한 후 작동 했습니다 . 나는 경고가 없었지만 이것은 나를 위해 그것을 고쳤습니다.
— Josh Close

11

그만한 가치가 있는 것은 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 에서 나에게 사실입니다.


sslPort가 applicationUrl과 달라야하는 이유는 무엇입니까? 그것은 ... RTM까지 나를 위해 작업에 사용
— 보리스식이 립 시즈에게

오류 : 웹 서버 'IIS Express'에 연결할 수 없습니다. "\ .vs \ config \ applicationhost.config 파일"을 삭제 한 후 "오류가 발생했습니다 ..."라는 오류가 발생했습니다. 프로젝트 속성> 디버그에서 SSL을 선택 해제하고 디버거를 실행하고 (작동 중) SSL을 다시 선택하고 URL을 "App URL"에 복사하고 SSL 모드에서 디버깅이 다시 작동합니다. Windows 업데이트 후 오류가 발생했지만 원인인지 확실하지 않습니다. 내 iisSettings는 이제 "iisExpress": { "applicationUrl": " localhost : 44369 ", "sslPort": 44369} .. 포트 번호가 동일하지 않으면 작동합니다
— JimiSweden

6

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

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(); 

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


5

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

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


3

Visual Studio에서 :

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

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

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

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

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

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


잠깐, 대답은 "응용 프로그램의 다른 인스턴스가 실행 중이기 때문"입니까? 바로 이것을 더 분명하게 만들어야합니다.
— Bloodied

2

제 경우에는 asp net core 1.1, .net framework 4.5.2 프로젝트에서 오류가 더 이상 dnx를 참조하지 않았습니다. 대신 프로젝트 이름 exe를 참조했습니다. 오류의 또 다른 버전은 단순히 iis express에 연결할 수 없다는 것을 나타냅니다.

문제는 모든 연결이 www로 시작하는 호스트 이름을 갖도록 강제 하는 표준 호스트 이름 다시 쓰기 규칙 의 도입이었습니다 . 예를 들어 gty.org를 www.gty.org로 리디렉션하여 SSL 인증서를 준수합니다. 프로덕션에서는 괜찮지 만 https : // localhost : 44347 / 을 www로 시작하고 iis express가 처리 할 수 ​​있다고 기대할 수는 없습니다.

<rule name="CanonicalHostNameAddwww" enabled="true" stopProcessing="true">
      <match url="(.*)" ignoreCase="true" />
      <conditions logicalGrouping="MatchAll">        
        <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
      </conditions>
      <action type="Redirect" url="http://www.{HTTP_HOST}{HTTP_URL}"  appendQueryString="false" redirectType="Permanent" />
</rule>

해결책은 Visual Studio에서 실행할 때 규칙을 주석 처리하거나 조건을 추가하는 것입니다.

<add input="{HTTP_HOST}" negate="true" pattern="^localhost" />

2

설치에 따라 SSL이 활성화 된 IIS Express를 실행하고 있다고 가정하면 IIS Express 개발 인증서 ( "localhost"로 발급 / "localhost"로 발급)를 [Local Computer \ Personal \ Certificates] 또는 [Local Computer]에 넣어야합니다. \ Trusted Root Certification \ Certificates]. 그중 하나가 작동합니다. (Windows 10 + VS2015 사용). HTH


로컬 컴퓨터 \ 신뢰할 수있는 루트 인증 \ 인증서에 IIS Express 개발 인증서를 추가하면 저에게 도움이되었습니다. 감사! (다른 사람을 위해, 내 경우에는 이미 로컬 컴퓨터 \ 개인 \ 인증서의 인증서를했다)
— 데이비드 Aleu

1

web.config 파일에서 잘못된 항목을 확인하십시오. 예를 들어 "entityFramework"태그가 있으면이 문제가 발생합니다.


1

설정을 전환 할 때이 문제가 발생 했으며 프로젝트> 속성> 디버그에서 " 익명 인증 사용 "을 비활성화했습니다 . 활성화되어 있는지 확인하십시오. 프로젝트를 닫았다가 다시 시작한 다음 다시 시도하십시오. 도움이 되었기를 바랍니다.


동일한 문제가 있었지만 익명을 활성화하는 것보다 익명 또는 Windows 인증을 활성화해야했습니다. 둘 다 거짓이면 오류가 발생했습니다.
— birken25

1

저는 RC1과 EF First Code Approach를 사용했습니다. 조사를 시작하는 좋은 방법은 "디버그없이 프로젝트 시작"(Ctrl + F5) 옵션을 사용하여 프로젝트를 실행하는 것입니다. 그런 다음 더 의미있는 오류가 발생합니다. "섹션 선언이 없기 때문에 구성 섹션 'entityFramework'를 읽을 수 없습니다." web.config 파일 때문에 작동하지 않았습니다.


1
  1. dnvm 업데이트
  2. global.json sdk 버전을 dnvm의 기본값으로 변경
  3. project.json 또는 project.lock.json을 만질 필요가 없습니다.

0

beta7-> beta8에서 업그레이드 할 때이 문제가 발생했으며 Ben M과 Domysee가 제공 한 제안이 도움이되었습니다. 그러나 동료 중 한 명이 목표로하는 프로젝트를 실행하는 데 여전히 문제가있었습니다 dnxcore50. 다음 명령을 실행했는지 확인하는 경우 :

dnvm install 1.0.0-beta8 -r coreclr
dnvm install 1.0.0-beta8 -r coreclr -arch x86

특히 그의 기계에서 그것을 고친 것은 두 번째 명령이었습니다. 이 폴더에 다음이 있는지 다시 확인할 수도 dnx.exe있습니다.

%userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta8\bin

0

나는 이것을 일으킨 문제를 하나 더 발견했습니다!

web.config프로젝트 루트에는 HTTPS를 적용하기 위해 약간의 이상한 IIS URL 재 작성 규칙이 있습니다. 이러한 규칙을 제거하면 문제가 해결되었습니다.


0

이 오류를 일으킬 수있는 것들이 너무 많습니다. 다음은 나를 위해 일한 몇 가지입니다.

  1. 폴더 web.config에서를 삭제하십시오 wwwroot. 컴파일시 올바르게 다시 생성됩니다.
  2. 사용하려고하는 경우 SSL당신에 IIS Express당신의 이동 SSL Cert받는 Trusted Root Certification Authorities폴더 작동하지 않았다. 실행하려는 프로젝트 의 Debug탭에서 Properties. unclicking 시도 Enable SSL를 가능하게하고 다른 포트를 얻기 위해 다시 클릭 한 후 확인란을 선택합니다. 이 작업을 몇 번해야 할 수도 있습니다.

0

또 다른 잠재적 인 해결책
SSL 설정을 사용하는 모든 사람을 위해 launchSettings.json파일 의 SSL 포트를 근처의 다른 포트로 변경 하면 문제가 해결 되었음을 알았습니다 .

참고로, 원래 포트를 사용하는 컴퓨터에서 아무것도 찾을 수 없으며 포트 사용 오류가 발생하지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.