Desactive la advertencia de seguridad de Visual Studio Attach cuando depure IIS
-
06-07-2019 - |
Pregunta
Cuando utiliza Visual Studio 2008 o 2010, cada vez que se conecta a IIS w3wp.exe obtiene una Advertencia de seguridad de conexión,
¿Cómo apagas esto?
Sería genial saber también cómo mantenerlo conectado por un tiempo prolongado, ya que esto parece agotar el tiempo después de un tiempo.
Por cierto: agregué esto como un comentario a la respuesta a continuación, lo primero que hice fue probar el artículo de msdn http://msdn.microsoft.com/en-us/library/ms241736.aspx pero eso no funciona.
Solución
También se encuentra en el artículo mencionado por Tzury, pero para resumir las respuestas en este hilo:
asegúrese de que Visual Studio no se esté ejecutando al cambiar la clave del registro o se sobrescribirá al salir con el valor anterior
Cambie (o cree) la siguiente clave de registro a 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
Visual Studio 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
Para VS2015, es posible que deba crear la clave de registro mencionada anteriormente.
- Asegúrese de que Visual Studio no se esté ejecutando y abra el Editor del registro.
- Navegar a
HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0 \ Debugger
, haga clic derecho y cree un nuevoDWORD
:- Nombre:
DisableAttachSecurityWarning
- Valor:
1
.
- Nombre:
Actualización: Si no desea abrir regedit, guarde esto gist como un archivo * .reg y ejecútelo (importa las claves para todas las versiones VS inferiores que VS2017).
Visual Studio 2017
La configuración se guarda en una ubicación de registro privada, consulte esta respuesta: https://stackoverflow.com/a/41122603/67910
Para VS 2017 , guarde esto gist como un archivo * .ps1 y ejecútelo como administrador, o copie y pegue el siguiente código en un archivo 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\' También se encuentra en el artículo mencionado por Tzury, pero para resumir las respuestas en este hilo:
asegúrese de que Visual Studio no se esté ejecutando al cambiar la clave del registro o se sobrescribirá al salir con el valor anterior
Cambie (o cree) la siguiente clave de registro a 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
Visual Studio 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
Para VS2015, es posible que deba crear la clave de registro mencionada anteriormente.
- Asegúrese de que Visual Studio no se esté ejecutando y abra el Editor del registro.
- Navegar a
HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0 \ Debugger
, haga clic derecho y cree un nuevo DWORD
:
- Nombre:
DisableAttachSecurityWarning
- Valor:
1
.
Actualización: Si no desea abrir regedit, guarde esto gist como un archivo * .reg y ejecútelo (importa las claves para todas las versiones VS inferiores que VS2017).
Visual Studio 2017
La configuración se guarda en una ubicación de registro privada, consulte esta respuesta: https://stackoverflow.com/a/41122603/67910
Para VS 2017 , guarde esto gist como un archivo * .ps1 y ejecútelo como administrador, o copie y pegue el siguiente código en un archivo ps1:
<*>\privateregistry.bin
$BasePath='HKU:\VS2017PrivateRegistry\Software\Microsoft\VisualStudio'
$keysResult=dir $BasePath
$keysResult | ? { También se encuentra en el artículo mencionado por Tzury, pero para resumir las respuestas en este hilo:
asegúrese de que Visual Studio no se esté ejecutando al cambiar la clave del registro o se sobrescribirá al salir con el valor anterior
Cambie (o cree) la siguiente clave de registro a 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
Visual Studio 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
Para VS2015, es posible que deba crear la clave de registro mencionada anteriormente.
- Asegúrese de que Visual Studio no se esté ejecutando y abra el Editor del registro.
- Navegar a
HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0 \ Debugger
, haga clic derecho y cree un nuevo DWORD
:
- Nombre:
DisableAttachSecurityWarning
- Valor:
1
.
Actualización: Si no desea abrir regedit, guarde esto gist como un archivo * .reg y ejecútelo (importa las claves para todas las versiones VS inferiores que VS2017).
Visual Studio 2017
La configuración se guarda en una ubicación de registro privada, consulte esta respuesta: https://stackoverflow.com/a/41122603/67910
Para VS 2017 , guarde esto gist como un archivo * .ps1 y ejecútelo como administrador, o copie y pegue el siguiente código en un archivo ps1:
<*>.Name -match '\\\d+\.\d+_[^_]+} | % {
$keyName = También se encuentra en el artículo mencionado por Tzury, pero para resumir las respuestas en este hilo:
asegúrese de que Visual Studio no se esté ejecutando al cambiar la clave del registro o se sobrescribirá al salir con el valor anterior
Cambie (o cree) la siguiente clave de registro a 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
Visual Studio 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
Para VS2015, es posible que deba crear la clave de registro mencionada anteriormente.
- Asegúrese de que Visual Studio no se esté ejecutando y abra el Editor del registro.
- Navegar a
HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0 \ Debugger
, haga clic derecho y cree un nuevo DWORD
:
- Nombre:
DisableAttachSecurityWarning
- Valor:
1
.
Actualización: Si no desea abrir regedit, guarde esto gist como un archivo * .reg y ejecútelo (importa las claves para todas las versiones VS inferiores que VS2017).
Visual Studio 2017
La configuración se guarda en una ubicación de registro privada, consulte esta respuesta: https://stackoverflow.com/a/41122603/67910
Para VS 2017 , guarde esto gist como un archivo * .ps1 y ejecútelo como administrador, o copie y pegue el siguiente código en un archivo ps1:
<*>.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
}
Otros consejos
La configuración del registro funciona; sin embargo, debe asegurarse de configurarlo en el entorno limitado de registro de 32 bits para VS2005 / 2008 mediante el uso de regedit.exe de 32 bits en % windir% \ SysWOW64 \
o agregándolo en < código> HKLM \ Software \ Wow6432Node \ ... . Creé un script .reg que simplemente lo agrega a ambos:
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
Simplemente cambie la versión a 8.0 para 2005, 10.0 para 2010, etc.
NOTA: regedit en Windows 7 parece querer archivos .reg guardados como UTF16-LE, así que si lo guarda en un archivo .reg, tenga en cuenta que debe hacerlo.
Pude hacerlo funcionar en Windows 7. Primero cambié el valor del registro con VS2008 todavía abierto. Luego lo cerré y actualicé el editor de registro y noté que el valor se restableció a 0. Luego lo cambié a 1 y comencé VS2008. Ahora funciona bien. He intentado cerrar VS2008 y volver a abrirlo y el valor del registro se mantiene 1. Gracias por su ayuda
Las otras respuestas en esta publicación contienen la información correcta, pero tuve problemas para que funcione, así que este es un intento de hacer que la respuesta sea muy explícita. Estas instrucciones funcionaron para Visual Studio 2010 ejecutándose en Windows 7 Ultimate 64-Bit.
- Asegúrese de que no se estén ejecutando instancias de Visual Studio (Use el administrador de tareas para verificar devenv.exe )
- Agregue el valor de registro DWORD DisableAttachSecurityWarning a HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ X.X \ Debugger y establezca el valor en 1 . Para Visual Studio 2008, reemplace X.X con 9.0 , para 2010 use 10.0
La razón por la que luché para que esto funcionara fue porque estaba intentando usar HKEY_LOCAL_MACHINE en lugar de HKEY_CURRENT_USER. Tuve que recurrir al uso de Process Monitor y un poco de filtrado en devenv para identificar mi error. Sospecho que el valor HKLM solo tiene algún efecto si se establece antes de abrir Visual Studio por primera vez.
Cualquier instancia abierta de Visual Studio sobrescribirá sus cambios cuando se cierren y solo las nuevas instancias recogerán la configuración en cualquier caso.
El uso de Wow6432Node registro parece ser innecesario por lo que puedo decir. Los siguientes comandos de Powershell aplicarán los pasos para Visual Studio 2010.
Get-Process -Name devenv* | ForEach-Object { Stop-Process Las otras respuestas en esta publicación contienen la información correcta, pero tuve problemas para que funcione, así que este es un intento de hacer que la respuesta sea muy explícita. Estas instrucciones funcionaron para Visual Studio 2010 ejecutándose en Windows 7 Ultimate 64-Bit.
- Asegúrese de que no se estén ejecutando instancias de Visual Studio (Use el administrador de tareas para verificar devenv.exe )
- Agregue el valor de registro DWORD DisableAttachSecurityWarning a HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ X.X \ Debugger y establezca el valor en 1 . Para Visual Studio 2008, reemplace X.X con 9.0 , para 2010 use 10.0
La razón por la que luché para que esto funcionara fue porque estaba intentando usar HKEY_LOCAL_MACHINE en lugar de HKEY_CURRENT_USER. Tuve que recurrir al uso de Process Monitor y un poco de filtrado en devenv para identificar mi error. Sospecho que el valor HKLM solo tiene algún efecto si se establece antes de abrir Visual Studio por primera vez.
Cualquier instancia abierta de Visual Studio sobrescribirá sus cambios cuando se cierren y solo las nuevas instancias recogerán la configuración en cualquier caso.
El uso de Wow6432Node registro parece ser innecesario por lo que puedo decir. Los siguientes comandos de Powershell aplicarán los pasos para Visual Studio 2010.
<*>.Id }
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VisualStudio\10.0\Debugger' -Name 'DisableAttachSecurityWarning' -Value 1 -PropertyType 'DWORD' -Force
Puede cambiar la identidad de iis AppPool a su usuario real de Windows, si es una máquina local.
su respuesta está disponible en http://msdn.microsoft.com/ es-es / library / ms241736.aspx
Si está depurando un legítimo escenario que hace que esta advertencia aparece, y quiere suprimirlo, allí es una configuración de registro que te permite para hacer esto. Recuerde volver a habilitar el advertencia después de que haya terminado con el escenario.
Esta no es una respuesta directa a la pregunta, pero evita el mensaje de seguridad y también proporciona una forma más rápida de adjuntar a un proceso adjunto previamente:
- instalar Vuelva a colocar la extensión
- adjuntar usando Volver a adjuntar y el mensaje se omite
- volver a adjuntar (Ctrl-R + Ctrl- [1-5]) a un proceso anterior tiene el mismo beneficio
Powershell variante ... reemplace $ vsversion
con la versión a la que desea aplicarlo.
Nota : guarde su trabajo antes de ejecutar esto. Todas las instancias de VS en ejecución se detendrán. Si no finaliza las instancias de VS abiertas, el valor no se retendrá.
$vsversion = "12.0" # VS 2013 (optionally 11, 10, 9, etc.)
kill -name devenv # end any existing VS instances (required for persisting config change)
Get-ItemProperty -Path "HKCU:\Software\Microsoft\VisualStudio\$vsversion\Debugger" -Name DisableAttachSecurityWarning -ErrorAction SilentlyContinue # query value (ignore if not exists)
Set-ItemProperty -Path "HKCU:\Software\Microsoft\VisualStudio\$vsversion\Debugger" -Name DisableAttachSecurityWarning -Value 1 # assign value
Entonces, lo único que me funcionaría con Visual Studio 2010 en x64 / Win7 es actualizar ambos nodos, incluido el Wow6432Node.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger]
"DisableAttachSecurityWarning"=dword:00000001
[HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\VisualStudio\10.0\Debugger]
"DisableAttachSecurityWarning"=dword:00000001
Una extensión de Visual Studio está disponible para VS2015 y VS2017: " Adjuntar a todos los Cosas " :
Puede vincular " Adjuntar a IIS " a cualquier acorde clave que desee utilizando el proceso habitual.
Una variación de powershell basada en las respuestas existentes de SliverNinja y Martin Hollingsworth. Esto se ha probado con Visual Studio 2015 en un entorno win7 / x64 . El script le pedirá que cierre Visual Studio si se está ejecutando (no intentará eliminarlo).
$vsversion = "14.0" # VS 2015 (optionally 12, 11, 10, 9, etc...)
$disable = 1 # set to 0 to enable the warning message
# not using Get-Process here because powershell instance can be 64 bit and devenv is 32 bit
if (!(get-wmiobject win32_process -filter "name='devenv.exe'")) {
# Create or (force) update the property
New-ItemProperty -Path "HKCU:\Software\Microsoft\VisualStudio\$vsversion\Debugger" -Name DisableAttachSecurityWarning -Value $disable -PropertyType 'DWORD' -Force
Write-Host Done!
}
else {
Write-Error "Please close Visual Studio first!"
}