[visual-studio-2010] IIS를 디버깅 할 때 Visual Studio Attach 보안 경고 해제

Visual Studio 2008 또는 2010을 사용할 때 IIS w3wp.exe에 연결할 때마다 보안 연결 경고가 표시됩니다.

이것을 어떻게 돌리나요?

시간이 지나면 시간이 초과되는 것처럼 보이기 때문에 연결 상태를 유지하는 방법도 아는 것이 좋습니다.

Btw : 나는 아래 답변에 주석으로 이것을 추가했다. 내가 한 첫 번째 일은 msdn 기사 http://msdn.microsoft.com/en-us/library/ms241736.aspx를 시도 했지만 작동하지 않는다.



답변

Tzury가 언급 한 기사에서도 발견되었지만이 스레드의 답변을 요약하면 다음과 같습니다.

레지스트리 키를 변경할 때 Visual Studio가 실행되고 있지 않은지 또는 종료시 이전 값으로 덮어 쓰여집니다.

다음 레지스트리 키를 1로 변경 (또는 작성)하십시오 .

Visual Studio 2008 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger\DisableAttachSecurityWarning

Visual Studio 2010 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger\DisableAttachSecurityWarning

비주얼 스튜디오 2012
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\Debugger\DisableAttachSecurityWarning

Visual Studio 2013
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\Debugger\DisableAttachSecurityWarning

Visual Studio 2015
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger\DisableAttachSecurityWarning

VS2015의 경우 위에서 참조한 레지스트리 키를 만들어야 할 수도 있습니다.

  1. Visual Studio가 실행되고 있지 않은지 확인하고 레지스트리 편집기를 엽니 다.
  2. 으로 이동하여
    HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger마우스 오른쪽 버튼을 클릭하고 새를 만듭니다 DWORD.

    • 이름: DisableAttachSecurityWarning
    • 값 : 1.

업데이트 : regedit를 열지 않으려면이 요지 를 * .reg 파일로 저장하고 실행하십시오 (VS2017보다 낮은 모든 VS 버전의 키를 가져옵니다).

Visual Studio 2017

구성은 개인 레지스트리 위치에 저장됩니다. https://stackoverflow.com/a/41122603/67910

들어 VS 2017 이 저장 골자 는 *이 .ps1 파일로와 것은 관리자로 실행하거나 복사하여 PS1 파일에 다음 코드를 붙여 넣습니다 :

#IMPORTANT: Must be run as admin

dir $env:LOCALAPPDATA\Microsoft\VisualStudio\15.* | % {
    #https://stackoverflow.com/a/41122603
    New-PSDrive HKU Registry HKEY_USERS

    reg load 'HKU\VS2017PrivateRegistry\' $_\privateregistry.bin

    $BasePath='HKU:\VS2017PrivateRegistry\Software\Microsoft\VisualStudio'

    $keysResult=dir $BasePath
    $keysResult | ? {$_.Name -match '\\\d+\.\d+_[^_]+$'} | % {
        $keyName = $_.Name -replace 'HKEY_USERS','HKU:'
        New-ItemProperty -Path $keyName\Debugger -Name DisableAttachSecurityWarning -Value 1
    }
    $keysResult.Handle.Close()

    [gc]::collect()

    reg unload 'HKU\VS2017PrivateRegistry'

    Remove-PSDrive HKU
}


답변

레지스트리 설정이 작동합니다. 그러나 32 비트 regedit.exe를 사용 %windir%\SysWOW64\하거나에 추가 하여 VS2005 / 2008의 32 비트 레지스트리 샌드 박스에 설정해야합니다 HKLM\Software\Wow6432Node\.... 간단히 두 스크립트를 모두 추가하는 .reg 스크립트를 만들었습니다.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger]
"DisableAttachSecurityWarning"=dword:00000001

[HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\VisualStudio\9.0\Debugger]
"DisableAttachSecurityWarning"=dword:00000001

2005의 경우 8.0, 2010의 경우 10.0 등으로 변경하십시오.

참고 : Windows 7의 regedit는 .reg 파일을 UTF16-LE로 저장하려고하므로 .reg 파일로 저장하는 경우이를 수행해야합니다.


답변

Windows 7에서 작동시킬 수있었습니다. VS2008을 열어 둔 상태에서 레지스트리 값을 변경했습니다. 그런 다음 레지스트리 편집기를 닫고 새로 고치고 값이 0으로 다시 설정되었음을 알았습니다. 그런 다음 다시 1로 변경하고 VS2008을 시작했습니다. 이제 잘 작동합니다. VS2008을 닫고 다시 열려고 레지스트리 값이 1로 유지되었습니다. 도움을 주셔서 감사합니다.


답변

이 게시물의 다른 답변에는 올바른 정보가 포함되어 있지만 작동하는 데 문제가 있으므로 답변을 매우 명시 적으로 작성하려는 시도입니다. 이 지침은 Windows 7 Ultimate 64-Bit에서 실행되는 Visual Studio 2010에서 작동했습니다.

  • Visual Studio 인스턴스가 실행되고 있지 않은지 확인하십시오 (작업 관리자를 사용하여 devenv.exe 확인 ).
  • DWORD DisableAttachSecurityWarning 레지스트리 값을 HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ XX \ Debugger에 추가 하고 값을 1로 설정하십시오 . Visual Studio 2008의 경우 XX를 9.0으로 바꾸고 2010의 경우 10.0을 사용하십시오.

이 작업을 수행하는 데 어려움을 겪었던 이유는 HKEY_CURRENT_USER 대신 HKEY_LOCAL_MACHINE을 사용하여 시도했기 때문입니다. 내가 사용에 의존했다 프로세스 모니터 및 내 실수를 식별 할 devenv를 필터링의 약간. Visual Studio를 처음 열기 전에 HKLM 값이 설정되면 영향을 미칩니다.

열려있는 Visual Studio 인스턴스는 변경 사항을 닫을 때 변경 사항을 덮어 쓰며 새 인스턴스 만 설정을 선택합니다.

내가 알 수 있는 한 Wow6432Node 레지스트리를 사용 하는 것이 필요하지 않은 것 같습니다. 다음 Powershell 명령은 Visual Studio 2010 단계를 적용합니다.

Get-Process -Name devenv* | ForEach-Object { Stop-Process $_.Id }
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VisualStudio\10.0\Debugger' -Name 'DisableAttachSecurityWarning' -Value 1 -PropertyType 'DWORD' -Force


답변

로컬 시스템 인 경우 iis AppPool ID를 실제 Windows 사용자로 변경할 수 있습니다.


답변

귀하의 답변은 http://msdn.microsoft.com/en-us/library/ms241736.aspx 에서 확인할 수 있습니다

이 경고가 나타나는 합법적 인 시나리오를 디버깅하고이를 억제하려는 경우이를 수행 할 수있는 레지스트리 설정이 있습니다. 시나리오를 마친 후에 경고를 다시 활성화하십시오.


답변

이것은 질문에 대한 직접적인 대답은 아니지만 보안 메시지를 우회하고 이전에 연결된 프로세스에 더 빠르게 첨부 할 수있는 방법을 제공합니다.

  • Reattach 확장 설치
  • Reattach를 사용하여 첨부하면 메시지가 무시됩니다.
  • 이전 프로세스에 다시 첨부 (Ctrl-R + Ctrl- [1-5])하면 동일한 이점이 있습니다.