애플리케이션을 호스팅하는 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.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를 다시 시작하는 것도 도움이 될 수 있습니다.


새 호스팅 모델에서는 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.