웹 응용 프로그램 프로젝트 […]가 IIS를 사용하도록 구성되었습니다. 웹 서버 […]를 찾을 수 없습니다.


285

솔루션 파일에 솔루션을 열 때 "사용할 수없는"웹 프로젝트가 있습니다. 웹 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트를 다시로드하면 다음 오류가 발생합니다.

The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found.

이 웹 응용 프로그램에 대한 가상 디렉터리를 수동으로 설정하지 않았습니다.

동료마다 Visual Studio에서 가상 디렉터리를 만들라는 메시지가 표시되지만 프롬프트가 표시되지 않습니다.

개발자 컴퓨터에 IIS를 설치하기 전에 VS2010을 설치했습니다.

내 개발 머신 설정은 다음과 같습니다.

  • 윈도우 7 엔터프라이즈
  • 서비스 팩 1
  • 64 비트 OS
  • Visual Studio 2010 Enterprise 서비스 팩 1
  • IIS 버전 7.5

답변:


87

이 경우 가장 쉬운 해결책은 가상 디렉터리를 수동으로 만드는 것입니다.

우선, 올바른 버전의 ASP.Net이 설치되어 있고 IIS 확장을 설치했는지 확인해야합니다.

이렇게하려면 C : \ (Windows) \ Microsoft.NET \ Framework \ (dotnetver) \의 관련 .net 버전 폴더로 이동하여 (PC의 올바른 폴더에 대괄호로 묶은 폴더를 대체)이 명령을 실행하십시오.

aspnet_regiis.exe -i

다음에 일단 실행되고 완료되면 때로는 실행

iisreset

명령 줄에서 도움을받을 수 있으며 때로는 필요하지 않습니다.

그런 다음 IIS 관리자로 이동하여 localhost 웹 사이트를 찾은 다음 폴더 추가를 선택하십시오. 실제 ASP.Net 프로젝트가 포함 된 프로젝트의 폴더를 찾아서 추가하십시오.

마지막으로 추가 한 폴더를 마우스 오른쪽 버튼으로 클릭하면 '애플리케이션으로 변환'또는 '가상 디렉토리 생성'또는 이와 유사한 옵션이 있습니다.

!! 가상 디렉터리 이름이 'MyWebApp'인지 확인하십시오 !!

솔루션을 다시로드하면 작동합니다.

조심하십시오; 이것은 프로그래밍 질문이 아니며 (실제로 게시해서는 안됨)이 지침은 일반적인 문제이므로 게시했지만 게시 한 조언은 일반적입니다. 내가 나열한 명령은 정확하지만 IIS에서 수행해야하는 단계는 버전과 계정 권한에 따라 다를 수 있습니다.

행운을 빕니다!


지시에 따라 다음과 같은 오류가 발생했습니다.이 오류로 인해 가상 디렉터리를 삭제했습니다. 고유 키 속성 'name'이 (가) 'Telerik_Web_UI_WebResource_axd'로 설정된 'add'유형의 중복 콜렉션 항목을 추가 할 수 없음
-practitioner

솔루션을 시작할 때 IIS 또는 Visual Studio에서 오류가 발생하는 것은 무엇입니까?
Russ Clarke

또한 새 asp.net 프로젝트에 대한 web.config를 확인하십시오. 'Telerik.WebResource.axd'에 대한 참조가 두 개 이상 있으므로 하나만 필요합니다.
Russ Clarke

문제가있는 항목을 제거 할 때 web.config ..를 확인한 다음 제거 된 항목이 필요하다는 오류 메시지가 표시됩니다.
dotnet-practitioner가 2012

새 오류 메시지에 대해 곧 별도의 질문을 게시하려고합니다
dotnet-practitioner

523

허용되는 대답에는 IIS 관리자가 필요하고 IIS Express에는 IIS 관리자 나 UI가 없으므로 IIS Express 사용자를위한 솔루션은 다음과 같습니다.

Visual Studio를 열고 오류 메시지가 표시되면 프로젝트 솔루션 탐색기를 마우스 오른쪽 단추로 클릭하고 "{ProjectName} .csproj 편집"을 선택하십시오.

프로젝트 파일에서 다음 줄을 변경 하십시오. 파일
<UseIIS>True</UseIIS>

<UseIIS>False</UseIIS>
저장하십시오.

이제 프로젝트를 다시로드하십시오.
끝난.

그런 다음 프로젝트를 열 수 있습니다. 이 시점에서 IIS를 사용하려면 프로젝트 속성으로 이동하여 "웹"탭을 클릭 한 다음 IIS 사용 옵션을 선택하십시오. "가상 디렉토리 만들기"버튼이 있습니다. 디렉터리를 만들려면 관리자 권한으로 Visual Studio를 실행해야하므로 필요할 경우 그렇게하십시오.


33
VS2010에서 UseIIS는 csproj 파일이 아니라 .csproj.user 파일에 있습니다
oleksa

2
제 경우에는 여전히 IIS를 사용하고 싶기 때문에 URL을 변경하고 완벽하게 감사했습니다.
kjetilh

업그레이드 및 이동시이 문제가 발생했습니다. 솔루션이로드되지 않았기 때문에 텍스트 편집기에서 csproj를 열었습니다. 고마워요 더그
Kieran

2
이것이 정답입니다. 프로젝트는 IIS와 IISExpress를 동시에 사용하도록 구성되어 있습니다.
Aaron Reed

2
VS2013을 사용하면 솔루션을 마우스 오른쪽 버튼으로 클릭 할 때 Edit {ProjectName} .csproj가 표시되지 않습니다. 파일 시스템으로 이동하여 .csproj 파일을 수동으로 편집하여 편집을 완료했습니다. 읽기 전용이어서 약간의 춤을 추어 야했지만 효과가있었습니다.
Al Lelopath 2016 년

222

프로젝트 폴더를 열고 {Project} .csproj.user를 삭제 한 다음 Visual Studio에서 프로젝트를 다시로드하십시오.


2
이 IIS 오류를 본 팀 중 유일한 사람이었습니다. 내가 일하는 개발자 팀은 소스 제어의 동일한 .csproj 파일을 가지고 있으므로 위의 다른 솔루션은 내 문제가 아니 었습니다. 언급 한 .csproj.user 파일이 내 상황 에서이 오류를 일으킨 것으로 나타났습니다. 감사!
My Stack Overfloweth

3
이것은 다른 모든 것을 시도한 후에 저에게 효과적이었습니다
David

3
이것이 정답입니다. 시스템에서 프로젝트 구성 관련 문제를 해결합니다 (특히 TFS 작업시 중요).
Markus

1
사용자 정의 iisurl 태그를 설정했지만 프로젝트가 여전히 로컬 호스트에 시작하면이 또한 솔루션입니다 <IISUrl> MachineName.domain : 12345 / </ IISUrl >
LSP

5
이것은 나를 위해 일했습니다. 제 경우에는 <UseIIS> 설정이 없습니다.
Techgration

33

이 솔루션은 나를 위해 일했습니다 : 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 편집을 선택하고 아래 그림과 같이 다음 코드를 찾으십시오.

change the <UseIIS>True</UseIIS> to <UseIIS>False</UseIIS>

또는

change the <IISUrl>http://example.com/</IISUrl> to <IISUrl>http://localhost/</IISUrl>

csproj 스크린 샷


30

나를 위해 .csproj 파일 에서이 두 줄을 삭제해야했습니다.

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

첫 번째 항목 만 삭제하려고 시도했지만 충분하지 않았습니다.

편집 : 많은 사용자가 지적했듯이 프로젝트 유형을 변경하거나 소스 제어 프로그램을 망칠 수 있습니다. 더 이상 가지고 있지 않은 학교 프로젝트이기 때문에 이러한 문제를 조사 할 수 없습니다. 시도 할 때주의하십시오. 최소한 삭제 한 내용을 복사하십시오.


9
이것은 효과가 있었고 대답으로 표시해야합니다. 나는 SO에서 제안한대로 많은 솔루션을 시도했지만이 것을 제외하고는 아무것도 효과가 없었다.
Bose_geek

3
위의 모든 제안을 시도한 후에 이것은 실제로 저에게 효과적이었습니다. 내 친구 감사합니다!
Noble-Savage

2
이것은 프로젝트 유형으로 변경되어 더 이상 웹 응용 프로그램이 아닙니다.
Oram

3
.csproj 파일에서 <ProjectGuid>를 제거하는 것은 좋지 않습니다. 프로젝트를로드하기 위해서는 @Oram이 언급했듯이 <ProjectTypeGuids> 만 제거하면 충분합니다. 이는 프로젝트 유형을 변경할 때 좋지 않습니다. 이 답변은 변경 사항을 커밋하지 않고 VS의 코드를 살펴보면 좋습니다.
elshev

1
이로 인해 계약 업체에서 발생하는 솔루션 탐색기로드 오류가 2013 년으로 이동하는 Visual Studio 2010 솔루션을 개발했습니다. 솔루션 파일에는 2 개의 프로젝트가 있습니다. 웹 앱 및 웹 서비스. 둘 중 하나를로드 할 수 없으므로 솔루션 파일을 열려고 시도한 후 솔루션 탐색기에 두 개의 빈 폴더 만 표시되었습니다. 제안 된 ProjectGuid 및 ProjectTypeGuids 줄을 주석 처리하면 솔루션 탐색기에서 이러한 프로젝트의 종속성을 볼 수 있습니다. 저에게는 이러한 변경 사항을 쉽게 취소 할 수 있기 때문에 저 위험 고수익 옵션이었습니다. 감사!
JohnH

26

.csproj 또는 vbproj 파일을 편집하십시오. 이 항목을 찾아서 바꾸십시오.

<UseIIS>true</UseIIS> by <UseIIS>false</UseIIS>
<UseIISExpress>true</UseIISExpress> by <UseIISExpress>false</UseIISExpress>

1
또한 DevelopmentServerPort를 80 이외의 값으로 변경해야했습니다.
JoshNaro

1
csproj 파일에서 설정을 찾을 수없는 경우 .csproj.user 파일을 열어서 실행하십시오.
devzero

10

필자의 경우이 문제는 IIS 바인딩이 손상되어 발생했습니다. 특히, 'http'바인딩이 삭제되었습니다. 그것을 다시 작성하면 문제가 해결되었습니다.


나는 매우 비슷한 문제를 경험했다. 내 HTTP 바인딩이 언젠가 이름을 바꾸는 것처럼 보였습니다. -_-의 프로젝트 파일 설정 <IISUrl>이 변경되지 않았지만 (메모리와 내 정신을 확인해 준 SVN 덕분에) iis 바인딩이 어떻게 되었습니까? 문제를 해결하고 프로젝션을 즉시로드했습니다.
Patrick M

또한 어떤 이유로 대상 사이트의 sni / hostname을 변경했는지 확인하십시오. 이로 인해 내 오류가 발생했습니다.
juarola

5

관리자 권한으로 Visual Studio를 열어보십시오. 필자의 경우 IIS 사이트에 액세스 하여이 오류를 해결했습니다. 그런 다음 관리자 권한이 필요하지 않은 IIS Express를 사용하도록 프로젝트를 전환 할 수있었습니다.


5

이것은 나를 위해 일했습니다 :-
모든 IIS 웹 사이트가 localhost (All Unassigned) 만 가리 키도록하십시오.

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


5

TFS를 통해 연결된 경우 project.csproj.user 파일을 열고 확인하십시오.

<UseIISExpress>false</UseIISExpress>

true로 변경하십시오.

<UseIISExpress>true</UseIISExpress>

나는 이것이 실제 솔루션보다 문제에 대한 해결 방법이라고 생각하지만 즉각적인 문제를 해결하면서 엄지 손가락을 포기했습니다.
Nandun


4

UseIIS 속성 값을 true로 설정하지 않고 프로젝트를로드 할 수 있습니다. 아래 단계를 따르십시오.

mywebproject.csproj 파일에서

<IISUrl> http : // localhost / MyWebApp / </ IISUrl> 태그를 삭제하고 파일을 저장하십시오. 응용 프로그램은 기본 포트를 자동으로 할당합니다.


4

관리자는start Visual Studio를 믿지 않을 것입니다.

메시지에서 명백한

웹 서버 ' http : // localhost / MyWebApp '을 찾을 수 없습니다.

수도 있기 때문에 찾을 수 없습니다 it has no privileges to see it

그래서 그냥 restart같은 시각적 스튜디오 관리자


3

필자의 경우 http에서 https로 전환하고 싶었으므로 IIS에서 http를 삭제했습니다. 내 .csproj.user 파일에서 여전히 다음을 발견했습니다.

<IISUrl>http://localhost/</IISUrl>

그래서 나는 그것을 다음과 같이 바꿨다.

<IISUrl>https://localhost/</IISUrl>

2

제 경우에는 명령을 실행하는 오프라인 모드에서 솔루션을 열 수있었습니다.

iisreset

2

Win8 사용자의 경우 수락 된 답변의 단계를 따르면 콘솔은 "이 명령을 실행하기 위해 명령 줄을 사용하지 않아야합니다"라는 메시지를 뱉어냅니다 (그림). 대신 제어판 (또는 Windows + R> appwiz.cpl)을 통해 프로그램 및 기능에 액세스하고 'Windows 기능 켜기 또는 끄기'를 클릭 한 후 다음이 설치되어 있는지 확인하십시오.

Internet Information Services
  > World Wide Web Services
    > Application Development Features
      > ASP.NET 4.5

이것은 다른 옵션들도 검사 할 것입니다. 이러한 기능을 설치하고 높은 권한으로 VS2012를 실행하자마자 앱을 성공적으로 시작할 수있었습니다.


2

이것은 .csproj 파일에서 프로젝트를 열려고 시도했을 때 발생하지만 VS에서 프로젝트를 열어서 극복합니다.

파일> 열기> 웹 사이트

내 프로젝트가 포함 된 디렉토리를 선택하십시오.


1

나도이 오류가 발생했습니다. 모든 것이 올바르게 설정되었다고 생각했지만 한 가지 누락 된 것을 발견했습니다. 프로젝트에 사용한 호스트 이름을 아직 확인할 수 없었습니다.

내 응용 프로그램이 호스트 이름에서 현재 클라이언트 이름을 결정하기 때문에 clientname.mysuperapp.local개발 과 같은 호스트 이름을 사용했습니다 . 개발 호스트 이름을 hosts파일에 추가하면 프로젝트를 다시로드 할 수있었습니다. 분명히, 나는 어쨌든 이것을해야했지만 VS는 프로젝트를로드하기 전에 호스트 이름을 확인한다고 생각하지 않았습니다.


1

IIS Express가 설치되어 있는지 확인하십시오. IIS Express가 없으면 Visual Studio에서 설정을 무시하고 Express를 <UseIISExpress>false</UseIISExpress>계속 찾을 수 있습니다 .


1

제 경우에는 "기본"웹 사이트가 있는지 확인하십시오


1

필자의 경우 IIS의 "기본 웹 사이트"에는 포트 80의 로컬 호스트에 대한 바인딩이 없습니다. .csproj 파일의 값이 무엇이든 바인딩해야합니다.


1

아래 링크에서 다운로드 한 후 IIS Express를 다시 설치하여 간단히 고쳤습니다.

https://www.microsoft.com/en-us/download/confirmation.aspx?id=48264


1
이것은 질문에 대한 답변을 제공하지 않습니다. 평판 이 충분 하면 모든 게시물댓글 수 있습니다 . 대신 asker의 설명이 필요없는 답변을 제공하십시오 . - 리뷰에서
FluffyKitten

@FluffyKitten OP와 동일한 오류가 발생했지만 다른 모든 답변을 시도했지만 IIS Express를 다시 설치하는 것만으로는 아무것도 작동하지 않았습니다. 그래서 이것이 OP의 질문에 대한 나의 대답이라고 믿습니다. IIS를 다시 설치하십시오.
Matthew

귀하의 답변이 품질이 낮은 것으로 표시되어 검토 절차를 진행 중입니다 (의견 끝에 "검토에서"). 작동 할 수도 있지만 다른 방법이 작동하지 않고이 OP의 문제에 대한 특정 솔루션이 아닌 경우 소프트웨어 재설치는 마지막 복원 옵션입니다.
FluffyKitten

아무 것도 효과가없는 후 마지막 리조트 옵션 인 경우 (Ajay2707에 따르면 일부 가난한 영혼을 위해 다른 답변을 사용할 수있는 가능성이 없음)이 답변이 유용 할 것이라고 생각합니다. 일부 사람들에게 적합한 유일한 답변 일 경우 어떻게 답변을 낮은 품질로 지정할 수 있습니까? 나는 당신에게 Ajay2707을 지원합니다. 시간을내어 커뮤니티에 기여해 주셔서 감사합니다.
nardnob

Inb4이 대화는 품질이 낮은 것으로 이동 / 삭제됩니다. 비바 라 저항 !!
nardnob

0

제 경우에는 csproj 파일 에서 참조 된 URL 이 잘못되었습니다.

www 접두사가 필요했습니다 .

변경하고 파일을 저장했으며 프로젝트가 정상적으로로드되었습니다.


0

<ProjectTypeGuids>.csproj 파일 의 요소에 단위 테스트 프로젝트 GUID가 포함되어 있으면이 문제가 발생했습니다 {3AC096D0-A1C2-E12C-1390-A8335801FDAB}.

그것을 제거하면 문제없이 프로젝트가로드되었습니다.


0

DNN 사용자의 경우 내 문제는 포트 80에서 dnndev.me에 대한 바인딩이 필요하다는 것입니다. 다른 포트에서 실행되는 여러 설치가 있으며 VS는 특정 URL이 포트 80에 있어야합니다 (내와 같은 86은 아님).


0

이 완성 된 솔루션을 단계별로 따르십시오. VS 2017에서 저에게 효과적입니다.

  1. 관리자 모드에서 명령 프롬프트 열기

  2. 파일 탐색기를 열고 .NET Framework 폴더로 이동하십시오.

      Eg:C:\Windows\Microsoft.NET\Framework\v4.0.30319

    v4.0.30319 이것은 .NET 폴더입니다. 관련 폴더를 선택하려고합니다.

  3. CMD에서-.NET 폴더 경로로 이동

    cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
  4. CMD에서 아래 명령 실행

    aspnet_regiis.exe -i

    이 메시지가 마침내 표시됩니다. ASP.NET 설치가 완료되었습니다 (4.0.30319.0).

    iisreset

    이 메시지가 마침내 나타납니다. 인터넷 서비스가 성공적으로 다시 시작되었습니다.

  5. 컴퓨터에서 IIS를 엽니 다 (구성하지 않은 경우 다음을 수행하십시오 )

    1. 사이트로 이동하여 마우스 오른쪽 버튼을 클릭하십시오

    2. 웹 사이트 추가

    3. 채우기- 사이트 이름실제 경로 선택

    4. 그런 다음 포트 번호를 입력하십시오 (.csproj 파일에서 포트 번호를 찾을 수 있으며 포트 번호는 (IISUrl)과 같아야합니다.

    EG : <IISUrl>http://localhost:15724/</IISUrl> my port is 15724

    참고 : 포트 80 번호는 만들 수 없습니다 . 기본 IIS 페이지를 사용했기 때문에

    1. 확인을 클릭하십시오
  6. 관리자 권한으로 Visual Studio 열기

  7. 그런 다음 마우스 오른쪽 버튼을 클릭하고 프로젝트를 다시로드 하십시오.

문제가 해결되었을 수 있습니다.

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