ASP.NET 5 MVC : 웹 서버 'IIS Express'에 연결할 수 없습니다


190

내가하고있는 것:

삭제 applicationhost.config에 위치한, Documents\IISExpress\config오류 메시지가 변경되지 않습니다. ( 및 IISExpress폴더 도 있습니다 .)program filesprogram files (x86)

내가 알아 차린 것이 문제인지 모르겠습니다.

참조 된 파일 'lib / jquery-validation / jquery.validate.js'를 찾을 수 없습니다.

rawcap과 함께 덤프를 받았지만 그다지 눈에 띄지 않습니다. 거기에 있었던 것 중 일부 :

"Framework": { "FrameworkName": "DNXCore, Version = v5.0", "FriendlyName": "DNX Core 5.0", "ShortName": "dnxcore50", "RedistListPath": null}

문제는 눈치 채지 못하지만 웹 서버에 연결할 수없는 이유를 파악하는 데 도움이 될 수있는 네트워크 데이터가 있습니다. 내가 얻을 RST,ACK나는 포트가 닫혀 있고 어떤이 웹 서버가 설치되지 않는 추측하고있어 그래서 바로.

이 문제에 대한 추가 정보 : / trace : error의 800700c1 오류

난 노력 했어:

  • applicationhost.config 삭제 및 포트 번호 변경
  • Visual Studio를 관리자로 실행
  • 문서에서 IISExpress 폴더 삭제 (폴더를 다시 설치할 때까지 오류 메시지 변경)
  • ssl을 껐다 켜고 URL을 시작 상자에 복사합니다. (참고 : SSL을 사용하지 않습니다)
  • 모든 sfc / scannow 오류 지우기
  • x86 버전 및 64 비트 버전으로 iisexpress 시작


1
관리자로 Visual Studio를 마우스 오른쪽 버튼으로 클릭하고 열기를 열 때 시도 ..
하젬 Torab

나는 전에 시도했지만 사람들이 나에게주는 모든 제안을 시도하고 있습니다.
Sarek

이것이 효과가 있는지 새 프로젝트를 열 수 있습니까? PC를 다시 시작 하시겠습니까? 프로젝트를 다른 디렉토리로 이동
Sebastian 506563

1
감사하지만 작동하지 않았습니다.
Sarek

답변:


254

Visual Studio 2015 용 업데이트 2를 설치 한 후에도 같은 오류가 발생하기 시작했습니다. 운없이 위의 모든 것을 시도했습니다. 그러나 나에게 맞는 해결책을 찾았습니다.

  1. YourSolutionFolder \ .vs \ config \ applicationhost.config 파일을 삭제하십시오 (참고 : .vs는 숨겨진 폴더입니다)
  2. Visual Studio를 열고 웹 사이트> 속성> 디버그 탭> 웹 서버 설정> 앱 URL-포트 번호 변경을 마우스 오른쪽 단추로 클릭하십시오.

사람, 내 오류가 다시 나타 났는데 다른 사이트 에서도이 오류를 발견했지만 계속해서 오류가 발생했습니다. 짜증나게 군다. 웹 콘솔을 실행했지만 감시자가 없으므로 Ctrl + s 만 새로 고칠 수 있습니다.
René Sackers

세상에, 그것은 작동합니다. 문서에서 IISExpress 폴더를 삭제 한 다음 해당 파일을 삭제 한 후이 오류가 발생하기 시작했지만 해결 방법은 stackoverflow.com/questions/33166403/… 이며 해결 방법은 다음 과 같습니다. |
René Sackers

3
나를 위해 그것은.vs\config\<MyProject>\config\applicationhost.config
laggingreflex

2
web site마우스 오른쪽 버튼을 클릭해야하는 위치는 어디 입니까?
CodyBugstein

13
Net Core 2.2 프로젝트의 경우-대규모 투쟁 후 .vs 폴더 삭제, IIS Express 구성 삭제, 포트 번호 변경, 바인딩 변경 및 관리자로 VS 실행에 이르기까지 모든 작업을 시도한 후 1. VS 종료, 2. 삭제로 문제가 해결되었습니다. launchSettings.json3. 다시 생성 된 VS 열기 launchSettings.json. 파일이 손상되었거나 부정확했거나 파일이 실패로 바뀌었을 때조차 분명하지 않았습니다.
퀸턴 스미스

189

VS를 종료하고 (project) .vs \ applicationhost.config 파일을 삭제하십시오. VS를 다시 시작하십시오. 작동을 시작해야합니다.


19
이것은 VS2017에서 포트를 변경하지 않고도 저에게 효과적이었습니다.
mlienau

4
나를 위해이 작업을 수행 한 후 관리자로 Visual Studio를 실행해야하고 감사했습니다!
DigaoParceiro

5
특히 관리자 권한으로 실행이 중요합니다. (Asp.net Core 2.0 VS2017도 있지만
Bart Mensfort

1
전체 .vs폴더를 삭제하고 나를 위해 일했습니다.
FindOutIslamNow

9
VS2017을 다시 시작해도 문제가 해결되지 않지만 컴퓨터를 다시 시작하면 문제가 해결되었습니다. 포트를 변경하거나 폴더를 삭제할 필요가 없습니다. 그것이 다른 사람들을 돕기를 바랍니다.
Tonmoy

32

다른 포트를 사용해보십시오. 방금 새 Core 1.0 RC1 프로젝트를 설정했는데 같은 오류가 발생했습니다.

  • 웹 프로젝트를 마우스 오른쪽 버튼으로 클릭
  • 디버그 탭
  • SSL 활성화를 껐다가 다시 켜면 새로운 임의 포트가 생성됩니다.
  • SSL URL을 복사하여 시작 URL 상자에 붙여 넣습니다.
  • 프로젝트를 실행

나를 위해 일했습니다 (TM).

답변 : https://stackoverflow.com/a/28650554/134761

여기에 이미지 설명을 입력하십시오


1
포트 60000을 사용할 때만 작동했습니다. 포트 6000이 오류를 반환했습니다 : 안전하지 않은 포트.
EKanadily

Visual Studio 2019에서는 작동하지 않았습니다. 매번 같은 포트를 사용했습니다.
EJoshuaS-

@ EJoshuaS-ReinstateMonica 이것이 많이 바뀌 었다고 생각합니다. Startup클래스가 어떻게 구성되어 있고 어떤 appsettings.json파일 이 있는지 살펴보십시오 . 또한이 Properties\launchSettings.json지역적으로 서로 다른 프로파일을 시작합니다. docs.microsoft.com/en-us/aspnet/core/fundamentals/... dejanstojanovic.net/aspnet/2018/december/...
angularsen

27

프로젝트의 포트 번호를 업데이트 할 때 .net core 2.0 에서이 문제에 직면했습니다 .

문제를 두 단계로 분류 할 수있었습니다.

  • 1 단계 : 기본 솔루션 폴더 안에 숨겨져있는 .vs 폴더를 삭제합니다. (Visual Studio를 닫기 전에) Visual Studio를 다시 시작하면이 폴더와 파일 (applicationhost.config)이 Visual Studio에서 자동으로 생성됩니다.
  • 2 단계 : 여러 시작 프로젝트의 경우 여전히 문제가 발생하면 시작 프로젝트로 하나씩 실행 한 다음 여러 시작 프로젝트로 실행하십시오.

해결책은 효과가 있었다. 감사합니다 :) 어떻게 .git 폴더를 삭제합니까?
krunal.cp

24

.net core 2.1, visual studio version 15.9.6 에서이 문제가 발생했습니다. .vs 폴더를 삭제했을 때 Visual Studio를 다시 열 었는데 문제가 여전히있었습니다. 아래에서 나를 위해 일한 솔루션 :

  1. .vs 폴더를 삭제합니다 (숨겨진 폴더 임).
  2. 컴퓨터를 다시 시작하십시오.

다른 솔루션 :

  • Visual Studio를 닫고 프로젝트 폴더에서 bin 및 obj 폴더를 삭제하십시오. 프로젝트를 연 다음 솔루션을 다시 빌드하십시오.
  • Visual Studio를 관리자 권한으로 실행하십시오.
  • 클린 솔루션 다음 다시 빌드
  • 1) 깨끗한 용액. 2) Visual Studio를 종료하십시오. 3) .vs 폴더 삭제 4) Visual Studio를 다시 엽니 다.

Visual Studio 만 종료하고 .vs 폴더를 삭제하고 Visual Studio를 다시 지정 하여이 작업을 수행 할 수있었습니다.
Robert Bratton 2014 년

그래도 내 경우에는 그렇지 않은 사람들에게는 효과가 있습니다. 왜 작동하지 않았는지 모르겠습니다. 내 유일한 컴퓨터를 다시 시작했다.
Daniaal

2
블루 스크린 후에 이것을 얻었습니다. .vs 폴더를 삭제하고 컴퓨터를 다시 시작해야 합니다 . Visual Studio를 다시 시작하는 것만으로는 충분하지 않습니다.
johnb

2
내 단계는 다음과 같이 압축되었습니다. 1) Clean Solution. 2) Visual Studio를 종료하십시오. 3) .vs 폴더 삭제
samneric

1
@samneric 감사합니다. 답변에 솔루션을 추가
하겠습니다.

13

관리자 권한으로 VisualStudio를 실행하고 프로젝트를 실행하십시오. 그런 다음 VisualStudio 및 모든 오류를 닫고 일반 사용자로 VisualStudio를 다시 실행하십시오.

이것은 나를 위해 그것을했다.

IIS가 관리자 권한으로 일부 구성에 무언가를 써야하는 것처럼 보입니다 (포트 80은 일반 사용자에게는 작동하지 않지만 포트 6767은 정상적으로 작동했습니다).


5
응용 프로그램은 관리자 권한만으로 1024보다 작은 포트 번호에 바인딩 할 수 있습니다. 그 때문에 6767이 적합합니다.
Lex Li

12

나는 같은 문제가 있었고 포트 번호를 변경하여 해결할 수있었습니다.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.

  2. 디버그 섹션으로 이동

  3. 웹 서버 설정에서 앱 URL 포트 변경 [단지 1 씩 증가) :

여기에 이미지 설명을 입력하십시오


10

필자의 경우 IIS Express와 동일한 포트에서 수신 대기하는 다른 응용 프로그램이었습니다. netstat -ao동일한 포트 및 종료 응용 프로그램을 사용하는 프로세스의 PID를 보려면 실행 해야합니다. 제 경우에는 응용 프로그램이 Viber였습니다.


10

나를 위해 일한 해결책은 다음과 같습니다. VS 프로젝트 닫기 파일 탐색기에서 프로젝트로 이동하여 전체 ".vs"폴더를 삭제하십시오. 프로젝트를 다시 시작하십시오. "디버그"로 실행하십시오. 분명히 "applicationhost와 관련이 있습니다. .config "파일입니다.

즐겨!


10

이 답변 중 많은 부분이 현재 문제를 완전히 해결하지 못합니다. 나에게 진짜 문제는 applicationhost.config 파일에 동일한 포트를 사용하는 두 개의 바인딩이 있고 두 번째 (localhost가 아닌) 바인딩으로 포트를 열지 않았다는 것 입니다. VS를 사용하면 이러한 상황에서 여전히 실행할 수 있지만 관리자 모드 인 경우에만 가능합니다 (따라서 위의 모든 답변).

기본적으로 동일한 포트에서 두 개의 IIS Express 앱 인스턴스를 생성하므로 applicationhost.config 파일에서 포트 중 하나를 변경하면 계속 진행할 수 있습니다. 그러나 두 개의 서로 다른 applicationhost.config 파일이 있습니다. 프로젝트 속성에 표시되는 바인딩 IP 및 포트가있는 것을 선택하려고합니다.

여기에 이미지 설명을 입력하십시오.

프로젝트 솔루션 및 프로젝트 폴더를 볼 수있는 폴더로 이동하십시오 (파일 탐색기에 숨겨진 항목 표시). 숨겨진 .vs 폴더-> "YourAppName"폴더-> 구성으로 이동하십시오. 프로젝트 속성에서 본 바인딩 정보를 포함해야합니다.

예:

<bindings>
    <binding protocol="http" bindingInformation="*:7000:127.0.0.1" />
    <binding protocol="http" bindingInformation="*:7000:192.168.0.5" />
</bindings>

동일한 포트를 사용하지 않으려면 해당 포트 번호 중 하나를 "7000"이외의 다른 번호로 변경하십시오.

필자의 경우 로컬 호스트 주소가 아닌 192 주소를 사용하고 있으므로 일부 netsh 명령을 사용하여 해당 포트를 열고 ip up해야합니다. 다음은 IIS Express 용 포트를 열어서 원격 연결을 허용하는 방법을 보여주는 링크 입니다. 나열된 netsh 명령을 실행하지 않으면 일반 사용자로 실행되지 않습니다.

netsh 명령은 다음과 같습니다.

  1. netsh http add urlacl url = http://192.168.1.42:58938/ user = everyone
  2. netsh advfirewall 방화벽 추가 규칙 이름 = "IISExpressWeb"dir = in protocol = tcp localport = 58938 profile = private remoteip = localsubnet action = allow

해당 명령을 복사하고 ADMIN 권한과 IP 주소 및 포트 번호로 cmd에서 실행하십시오.


이것은 나를위한 해결책이었습니다. 감사
WeisserHund

8

방금 프로필을 "IIS Express"에서 "MyProjectName"(IIS 대신 http 서버로 kestrel을 사용하고 있다고 생각 함)으로 변경했으며 이제 제대로 작동합니다.

여기에 이미지 설명을 입력하십시오


이것은 해결책이 아니라 해결책입니다. OP는 IIS-Express가 제대로 작동하도록 노력하고 있지만 다른 서버 인 Kestrel을 사용하는 것이 좋습니다.
프롤로그

2
3 일 동안 머리카락을 뽑은 후이 솔루션이 도움이되었습니다. 감사합니다
Meir

7

명확하게

여기서 많은 답변이 동일하며 "다시 시작하면 마술처럼 다시 작동합니다"와 같은 말이 있습니다.

글쎄, 10 명 중 9 명이 OP와 같은이 문제를 겪고 있습니다. IP 주소가 이미 사용 중이기 때문입니다.

대답

사용중인 2 개의 ip 주소가있을 수 있습니다. 둘 다 당신이 찾을 수 있습니다 :

1) 시작 프로젝트를 마우스 오른쪽 버튼으로 클릭

2) "속성"을 클릭하십시오

3) "디버그"탭을 클릭하십시오

여기에 "앱 URL"과 "SSL URL"이 있습니다.

  • "앱 URL"을 사용중인 경우 해당 URL을 변경하고 저장하면 다시 작동합니다.

  • "SSL URL"을 사용중인 경우 VS를 닫고 프로젝트의 숨겨진 .vs 폴더에서 "applicationhost.config"파일을 삭제 한 후 VS를 다시여십시오.


6

하나의 것을 변경 하여이 오류를 토글 할 수있었습니다. 내 ASP.Net Core 1.0 RC2 웹 응용 프로그램 프로젝트 launchSettings.json파일에서 :

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:18177/",
      "sslPort": 0
    }
  },

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

해당 프로토콜을 사용하여 프로젝트를 실행하기 위해 https로 변경했습니다. 분명히 이것은 변경을위한 장소가 아닙니다. 동일한 포트에서 여러 바인딩을 만드는 것으로 의심되며 IIS Express는 그 점을 좋아하지 않습니다.


포트 번호를 늘리려면이 작업을 수행해야했습니다. 내 원래 게시물은 '고착'되었으며 지금은 다시 부팅하거나 수정 방법을 알아낼 시간이 없습니다
Simon_Weaver

6

나는이 같은 문제가 있었지만 그것을 고치는 방법은 applicationhost.config로 이동하여 추가하지 않은 포트를 제거하는 것이 었습니다 (IIS Express는 추측 할 것입니다). 내 특정 포트 사이트를 다른 포트에 배치했습니다.

다음은 구성 파일의 바인딩에 대한 것입니다.

<bindings>
      <binding protocol="http" bindingInformation="*:54764:localhost" />
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

원하는 유일한 포트는 44360이므로 첫 번째 바인딩 항목을 제거했습니다. 이제 구성 파일은 다음과 같습니다.

<bindings>
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

이제 디버깅 할 때 오류가 표시되지 않습니다.

또한 프로젝트의 두 번째 API에 포트 80도 할당되어 있음을 알았으며 제거했습니다.


5

프로젝트 폴더에서 bin 및 obj 폴더를 삭제하고 다시 빌드하십시오.


종종 수동 청소 도움 않지만, 그것은 ApplicationHost.config 파일에 문제가 상주하는이 경우 문제가 해결되지 않고 대부분 두 번 같은 IP 주소를 사용하려고에 의해 발생
MedievalCoder


4

MS 버그 가이 문제를 일으키는 것을 완전히 이해하는 척하지는 않지만 여기에 또 다른 잠재적 해결책이 있습니다.

.vs / config / applicationHost.config 파일에서의 섹션을 찾으십시오 <system.applicationHost><applicationPools>. 수영장에서managedRuntimeVersion 속성 값이 시스템의 IIS 구성 및 / 또는 설치된 .NET 프레임 워크의 버전에있는 값과 일치 .

예를 들어 생성 된 파일에 다음과 같은 내용이있을 수 있습니다.

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

제 경우에는 이것을 다음과 같이 바꾸십시오.

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

"v4.0"에서 "v4.0.30319"로 대체하십시오. 문제가 해결되었습니다.


진행중인 것 :

VS가 .NET 프레임 워크의 "기본"버전으로 applicationHost.config 파일을 생성한다고 생각합니다.이 파일은 시스템에 설치 / 구성 된 특정 버전과 일치하지 않을 수 있습니다. 프로세스 모니터에서 실행을 추적하고 iisexpress.exe에 대한 명령 줄을 찾아서이 문제를 디버그 / 관찰 할 수 있습니다. 이 명령을 /trace:error추가 된 상태로 실행하면 버전 v4.0으로 CLR을 사전로드하지 못한 경우에 대한 정보 메시지가 더 많이 나타납니다. 재치 :

IIS Express 시작 중 ...
CLR 버전 v4.0을 미리로드하지 못했습니다. hr = 80131700 W3WP_HOST
를 초기화하지 못했습니다. hr = 80131700
프로세스 모델 종료가 호출
되어 iisexpress를 시작할 수 없습니다.


어쨌든, 이것이 나쁜 정보로 온라인으로 여러 참조를하는 것이 일반적이기 때문에 이것이 다른 사람에게 도움이 될 수 있다고 생각했으며, 나는 개인적으로 몇 번 명중했습니다.


이러한 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. 기본 Windows IIS를 설치하고 액세스 할 수 있다면 사용하십시오. 문제를 해결하고 새 웹 사이트 또는 새 응용 프로그램을 추가하면됩니다. 어쨌든 IIS Express가 페이지를 열 수 없다는 것이 이상합니다. 추적 해야하는 경우 ctrl + alt + p짧은 키를 사용하여 프로세스에 연결 하고 확인 Show process for all users하고 선택하기 w3wp.exe(때로는 웹 사이트를 새로 고쳐야 함 w3wp.exe) Attach버튼을 누르십시오.
Mohammad Musavi 2016 년

3

작동하고 갑자기 멈 추면 먼저 시도하십시오.

  • Visual Studio 닫기
  • iisexpress.exe 프로세스 종료
  • Visual Studio를 다시 엽니 다

3

관리자가 문제를 해결 한 것처럼 applicationhost.config 내에 새 바인딩을 추가하자마자 광산이 발생합니다.



3

나에게 문제는 다른 프로세스가 동일한 포트를 사용하고 있다는 것입니다. (내 경우에는 내 사이트와 동일한 포트를 사용했기 때문에 내 사이트를 시작할 수 없었습니다)

예, 로컬 포트를 변경할 수 있지만 API 또는 다른 응용 프로그램에 필요한 것을 실행하는 경우 항상 그렇게하고 싶지는 않습니다.

어떤 응용 프로그램이 어떤 포트 열기 CMD를 사용하고 "netstat -aon"을 입력하는지 목록을 얻으려면 포트 목록을 얻게됩니다. 사이트에서 사용해야하거나 PID를 쓰고 기록 / 기억하려는 포트를 찾으십시오.

이제 작업 관리자를 열고 '세부 사항'탭을 클릭하십시오. PID로 프로세스를 찾아서 종료하십시오. 이제 해당 포트로 IIS Express를 시작할 수 있습니다.


3

컴퓨터를 다시 시작하여이 문제를 해결할 수있었습니다. 나는 몇 가지 실패한 것을 시도하고 마침내 내 컴퓨터를 포기하고 다시 시작했다. 다시 시작한 후 며칠 동안 잘 작동했습니다. 중단 된 일부 프로세스의 결과 일 수 있습니다.


3

저에게는 다음 지침 을 따르는 혼합물이었습니다 .

웹 애플리케이션의 .vs \ applicationhost.config를 삭제하고 다시 시도하십시오.

그리고 가장 중요한 것은 관리자 권한으로 Visual Studio를 실행하는 것입니다.


3

.UseUrls("https://localhost:<some port>/")Program.cs에 추가 했습니다. 이것은 나를 위해 속임수를 쓰는 것처럼 보였다!


2

"SSL 사용"으로 간단히 전환했습니다. 이것은 내 문제를 해결했습니다.

  1. 웹 프로젝트를 마우스 오른쪽 버튼으로 클릭
  2. 디버그 탭
  3. SSL 활성화 "켜기"(꺼져 있으면 내 경우)를 토글합니다.

2

방금 같은 문제가 발생하여 여전히 실행중인 "iisexpress.exe"프로세스를 모두 종료했습니다. 그것은 나를 위해 일했다!


2

내 솔루션 (.net 코어 2.0)은 launchSettings.json의 iisExpress 아래에 applicationUrl에 포트 번호를 추가하는 것을 잊어 버렸습니다.

"iisExpress": {
  "applicationUrl": "https://localhost:50770",
  "sslPort": 50770
}

launchSettings.json자동으로 생성 또는 VS 업데이트되면,이 applicationUrl해야 /결국. 자세한 내용은 blog.lextudio.com/…
Lex Li

2

[√] Enabled SSL프로젝트에 대해 프로젝트가 선택 되었기 때문일 수 있지만 ( Debug프로젝트 설정 창의 탭 참조 ) Visual Studio는 멍청한 것으로 설정하고 다음과 같이 설정합니다 http://localhost:32396. 실패한 이유는 1.이 아니기 때문에 HTTPS그리고 2. 인증서가 유효 하지 않기 때문 입니다. 강제하려면 44300-44398 범위의 포트를 사용해야합니다.

참조 https://stackoverflow.com/a/24957146/1236397를



1

cmd를 사용해보십시오

taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f

그리고 f5를 누르십시오. 포트를 변경하거나 파일을 삭제하거나 VS를 재부팅하지 않습니다.


당신이 조금 대답을 설명 할 수 있습니다. 프로세스를 죽이는 것이 여기에 답이 아닐 수도 있습니다. 그리고 후에는?
Shiham
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.