bestsource

웹 서버에서 디버깅을 시작할 수 없습니다.ASP.NET 디버깅 VS 2010, II7, Win 7 x64를 시작할 수 없음

bestsource 2023. 6. 8. 21:14
반응형

웹 서버에서 디버깅을 시작할 수 없습니다.ASP.NET 디버깅 VS 2010, II7, Win 7 x64를 시작할 수 없음

Windows 7 x64에서 Visual Studio 2010(관리자), IIS 7을 실행하고 있습니다.디버깅 없이도 IIS 7에서 ASP.NET 웹 사이트를 실행할 수 있지만 디버깅하기 위해 F5를 누르면 다음과 같은 메시지가 표시됩니다.

웹 서버에서 디버깅을 시작할 수 없습니다.ASP.NET 디버깅을 시작할 수 없습니다.디버깅하지 않고 프로젝트를 시작하면 더 많은 정보를 얻을 수 있습니다.

안타깝게도 도움말 링크는 저에게 큰 도움이 되지 않고 많은 것들로 이어집니다.

다음을 확인했습니다.

  • 보안 요구 사항 — 이전에는 특별한 작업을 수행해야 했던 기억이 없습니다.IIS7의 worker 프로세스는 w3wp.exe입니다.ASPNET 또는 NETWORK SERVICE로 실행되는 경우 디버그하려면 관리자 권한이 있어야 합니다.여기서 무언가를 변경해야 하는지 어떻게 알 수 있습니까?

  • 웹사이트 Property Pages > Start Options > Debugers > ASP.NET을 선택합니다.사용자 지정 서버가 사이트의 URL로 설정되어 있습니다(디버깅 없이도 잘 작동함).

  • 디버깅은 에서 사용할 수 있습니다.web.config.

  • 애플리케이션에서 ASP.NET 3.5를 사용하고 있습니다(나는 나중에 4.0으로 이동하고 싶지만 처리해야 할 마이그레이션이 있습니다).

  • 응용 프로그램 풀: .NET AppPool을 분류하고 있습니다(DefaultAppPool도 시도됨).

다음에 제가 확인할 수 있는 아이디어가 있나요?

물론 IIS, VS를 설치하고 웹 사이트를 만들고 테스트를 시작하는 것이 그렇게 어렵지는 않을 것입니다.

잘 부탁드립니다.

IIS로 이동하여 사용 중인 앱 풀이 시작되었는지 확인합니다.앱 풀을 종료하는 오류가 발생하는 경우가 많습니다.마우스 오른쪽 단추를 클릭하고 시작하기만 하면 바로 시작할 수 있습니다.

IIS Url Rewrite 모듈이 범인인 것으로 드러났습니다.표준 홈 URL을 가질 수 있도록 Default.aspx( 사이트의 시작 페이지로 설정됨)로 호출을 사이트 루트로 리디렉션하는 규칙을 정의했습니다.그런데 VS가 이에 문제가 생겨 혼란스러워 한 것 같습니다.Helicon ISAPI_Rewrite를 사용할 때 이 문제가 발생하지 않아 확인할 생각조차 하지 못했습니다.

저는 결국 처음부터 완전히 새로운 웹 사이트를 만들고 프로젝트/파일을 조금씩 솔루션으로 포팅하여 이 사실을 알게 될 때까지 web.config를 다시 구축했습니다.적어도 지금은 .NET 4.0을 사용하는 약간 더 깨끗한 사이트가 있습니다(지금까지는 벽에 부딪히지 않기를 바랍니다). 하지만 정말 고통스럽습니다!

Visual Studio가 시작되면 (어떤 이유로) 다음 URL에 액세스하려고 시도합니다.

/sysattach.aspx

리디렉션(또는 다른 방법으로 탐지)하는 다시 쓰기 규칙이 있는 경우 다음과 같이 말합니다..aspx파일, 다른 곳에서 이 오류가 발생합니다.솔루션은 이 섹션을 시작 부분에 추가하는 것입니다.web.config<system.webServer>/<rewrite>/<rules>섹션:

<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true">
    <match url="^debugattach\.aspx" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="None" />
</rule>

이렇게 하면 이 특정 요청을 수신하고 아무것도 수행하지 않으며 가장 중요한 것은 실행을 중지하여 다른 규칙이 실행되지 않도록 하는 것입니다.이것은 강력한 솔루션이므로 프로덕션을 위해 구성 파일에 자유롭게 보관하십시오.

다른 사용자의 이익을 위해 Windows 자격 증명을 사용하여 네트워크 리소스 공유에 액세스하도록 응용 프로그램 풀을 구성했습니다.솔루션을 마지막으로 디버깅한 후 Windows 암호를 재설정했습니다.앱 풀 및 배지에 저장된 암호가 변경되었습니다.

ApplicationPool Identity가 사용자 지정 계정으로 설정되어 있고 컴퓨터의 암호가 변경된 경우 암호를 업데이트해야 합니다.

내 시나리오에서는 web.config의 httpErrors 섹션이 변경되어 다음과 같이 설정되었습니다.

<httpErrors mode="Custom"> 

웹 서버에서 디버깅을 시작할 수 없습니다. 문제가 발생했습니다.이전 값인 "Detailed LocalOnly"로 다시 설정하면 문제가 해결되었습니다.조금 더 깊이 조사해 보니 401 오류 설정이 원인이었습니다.

<httpErrors mode="Custom"> 
    <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" />
<httpErrors mode="Custom"> 

401 에러 라인도 문제를 해결했다고 언급하면서 커스텀 에러 처리를 유지하고 디버깅부터 시작할 수 있기 때문에 그렇게 했습니다.

왜 이런 일이 일어나는지 아직도 모르겠어요.

응용 프로그램 풀을 확인하십시오.그것이 멈추면,다시 시작합니다.

DNN(Dot Net Nuke) 모듈을 디버그하는 동안 동일한 문제가 발생했습니다.컴파일 debug="true"가 필요한 것으로 나타났습니다.

<compilation debug="true" strict="false" targetFramework="4.0"> 

웹.config에 있습니다.기본적으로 DNN에서는 false입니다.원본 출처: http://www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts

리라이트 모듈을 구현한 후에도 정확히 같은 문제가 발생합니다.

web.config 파일에서 다시 쓰기 항목을 제거하면 디버깅이 완벽하게 작동합니다.

이 문제를 해결하기 위해 디버깅을 하면서 다시 쓰기 태그에 대해 설명하려고 합니다. 이렇게...

<rewrite>
    <rules>
        <rule name="LowerCaseRule_1" stopProcessing="true">
            <match url="[A-Z]" ignoreCase="false" />
            <action type="Redirect" url="{ToLower:{URL}}" />
        </rule>
        <rule name="RedirectDefault.aspx_1" stopProcessing="true">
            <match url="(.*)default.aspx" />
            <action type="Redirect" url="{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

그런 다음 디버깅 후 주석을 제거합니다.

비주얼 스튜디오 2010의 버그임에 틀림없습니다.

IIS에서 응용 프로그램 풀이 중지된 이후 동일한 오류가 발생했습니다.앱 풀을 시작한 후 문제가 해결되었습니다.

여기 당신이 지적한 오류를 해결하기 위해 제가 한 일이 있습니다.파일 시스템에서 앱의 웹 폴더를 찾은 후 속성=>보안에서 고급 단추를 클릭한 다음 소유자 탭을 클릭하고 편집 단추를 클릭한 다음 올바른 권한으로 폴더의 소유자를 변경하고 "하위 컨테이너개체의 소유자 바꾸기" 확인란을 선택합니다."적용"을 클릭한 후 사업을 시작했습니다(디버깅 가능).

이것이 다른 사람에게 효과가 있기를 바랍니다.

마침내 이 문제를 해결했습니다. 이 문제를 해결한 유일한 솔루션입니다.솔루션의 프로젝트 중 두 개가 IIS에서 사이트로 설정되었습니다.들어가서 두 프로젝트 모두에 대해 인증에서 ASP.Net 가장을 사용하도록 설정했습니다.그리고 비올라! 마침내, 이 성가신 실수는 더 이상 없습니다!

VS 2012에서 동일한 오류 메시지가 표시되었지만 관리자로 실행되지 않았습니다.관리자로서 앱을 실행했을 때, 저는 좀 더 도움이 되는 다른 메시지를 받았습니다.HTH

App Pool을 다시 시작하는 데 문제가 있거나 단순히 다시 시작하지 않으려는 경우 Windows에서 ASP.NET v4.0 또는 다른 App Pool에서 최근 업데이트를 수행했는지 확인합니다.그것이 제 경우에 일어난 일입니다.컴퓨터를 다시 시작하고 ASP.NET v4.0 앱 풀을 다시 시작하면 모든 것이 다시 작동합니다!

댄.

Aaron의 제안 외에도 다음을 시도합니다.

  • IIS 웹 사이트에서 통합 윈도우즈 인증이 선택되었는지 확인합니다.
  • IIS 대신 Cassini를 사용하여 디버그할 수 있습니까?

모든 IIS 창 기능을 켰을 때 Windows 10에서 동일한 문제가 발생했습니다.Windows 8.1로 전환했다가 다시 문제가 발생했습니다.루트는 웹 사이트 이름 "http://MySite.local"(OS 버전과 관련 없음)에 있습니다.

솔루션은 단순합니다.

  • 에서 호스트 %SystemRoot%\System32\drivers\etc\

  • 바인딩을 하여 행 추가:127.0.0.1 MySite.local

오늘 이 오류가 발생한 이유는 코드의 결함으로 인해 IIS에 요청이 쇄도했기 때문입니다.이것은 본질적으로 IIS를 잠그고 디버거를 시작하려고 시도했을 때 '시간 초과'되었습니다.IIS를 다시 시작했는데 몇 분이 걸렸고 문제가 해결되었습니다.

저는 이 오류가 덜 일반적이기를 바랍니다, 그것을 생산하는 몇 가지 다른 방법이 있는 것 같습니다.

Windows 8.1에서 Visual Studio 2012와 2013에서도 동일한 문제가 발생했습니다.Windows 기능 설정 또는 해제'를 사용하여 IIS에 Windows 인증을 추가하는 것이 해결책이었습니다.

Windows 기능 스크린샷 설정 또는 해제

사이트의 응용 프로그램 풀에서 올바른 프레임워크 버전을 사용하는지 확인합니다.ASP.Net 2005 사이트에서 "디버깅을 시작할 수 없습니다" 오류가 발생했습니다.Windows 7(윈도우 7)에서 기본 앱 풀을 잘못 사용하고 있었습니다.넷 프레임워크 4).을 기반으로 새 앱 풀을 만들었습니다.NetFramework 2를 사용하여 문제가 있는 웹 사이트에 할당합니다.그 후 디버깅은 잘 작동했습니다.

IIS의 웹 사이트가 중지되지 않았는지 확인합니다.

나는 그것을 고쳤습니다 내 웹사이트를 실행하기 위해. :D

저는 이 문제를 겪었고 결국 IIS에 ASP.net 이 제대로 등록되지 않았다는 것을 깨달았습니다.이 문제는 Visual Studio 이전에 IIS 서버를 설치할 때 발생할 수 있습니다.이 문제를 해결하려면 aspnet_regiis -i 명령을 사용하십시오. 자세한 내용은 링크에서 확인할 수 있습니다.

같은 문제가 있었습니다.IIS에 SSL 인증서가 설치되어 있고 Visual Studio에서 SSL 인증서를 디버그하려는 경우 인증서를 무시하도록 IIS의 응용 프로그램을 설정해야 합니다.

나는 같은 문제를 가지고 있었고 그것이 내가 실수로 문자를 입력했기 때문에 발생했다는 것을 발견했습니다.Web.config끝 태그 뒤에.나의Web.config요: 마막에이보였니습다렇게는지다보▁looked니였▁right.</section>h태그 였습니다."h"는 닫는 태그 뒤에 추가 문자였습니다.

web.config의 targetFramework="4.0"을 제거하거나 AppPool을 적절한 프레임워크 버전으로 변경합니다.

IIS UrlScan Extension을 제거하면 문제가 해결되었습니다.

저는 같은 문제에 직면했지만, 그것은 IIS 대신 Visual 스튜디오의 자체 웹 개발 서버에 있었습니다.웹 탭의 프로젝트 속성, 모든 사용자에게 서버 설정 적용(프로젝트 파일에 저장) 아래에 있는 옵션을 선택 취소합니다.누군가의 귀중한 시간을 절약할 수 있기를 바랍니다.

저도 같은 문제가 있었습니다.위의 모든 답변이 저에게 효과가 없었습니다.해결책은 bin과 obj 폴더를 수동으로 삭제하는 것이었습니다.

저도 이 문제를 발견했지만 @Kirk가 설명한 것과 URL 다시 쓰기와 가장 유사했습니다.

제 경우, 누군가 MVC 프로젝트를 위해 web.config 파일에 대한 변경 사항을 체크인했습니다.

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".aspx" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

.aspx 파일 확장자가 웹 서버에서 허용되지 않았기 때문에,/debugattach.aspxURL이 거부되어 디버거를 실행할 수 없습니다.이 구성을 제거하면 다시 작동합니다.

Visual Studio에서 응용 프로그램을 만든 다음 속성에서 로컬 IIS에서 사용할 가상 디렉터리를 만들 때도 동일한 문제가 있었습니다.이 오류가 발생하면 VS가 잘못된 AppPool, 즉 사용자의 요구에 맞지 않는 AppPool에서 애플리케이션을 생성하기 때문입니다.
이 경우 IIS 관리자로 이동하고 App, Basic 설정으로 이동을 선택한 후 AppPool for App을 변경하면 바로 사용할 수 있습니다.

최근에 같은 오류가 발생했는데 제 경우 중복된 MIME 유형이 있는 것으로 나타났습니다.처음에는 목록에 표시되지 않았던 두 개를 최근에 추가했습니다.IIS에서 추가할 수 있게 해 주었는데 진단 프로세스의 일부로 사이트의 MIME 유형을 다시 확인하기로 결정했을 때만 IIS에서도 오류가 발생했습니다.web.config의 중복 항목을 참조했습니다.web.config 파일로 다시 들어가 보니 최근에 추가된 두 가지 MIME 유형이 포함된 새로운 섹션이 추가되었습니다.그 섹션을 삭제했고 삶이 다시 좋아졌습니다!이것이 다른 제안으로 문제를 해결하지 못한 다른 사람들에게 도움이 되기를 바랍니다.

언급URL : https://stackoverflow.com/questions/4653236/unable-to-start-debugging-on-the-web-server-could-not-start-asp-net-debugging-v

반응형