Pergunta

Ao usar o Visual Studio 2008 ou 2010, cada vez que você anexar ao IIS W3wp.exe você receber um aviso de segurança Ligue,

Como você transformar isso de?

Seria legal saber também, como mantê-lo em anexo para descansar, como este parece um tempo depois de um tempo.

Btw: I adicionou-a como um comentário à resposta abaixo, a primeira coisa que fiz foi tentar o artigo do MSDN http://msdn.microsoft.com/en-us/library/ms241736.aspx mas que não funciona.

Foi útil?

Solução

Também encontrada no artigo mencionado por Tzury, mas para resumir as respostas neste tópico:

Certifique-se Visual Studio não está sendo executado quando mudar a chave de registro ou ele será substituído na saída com o valor antigo

Change (ou criar) a seguinte chave do registro para 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, pode ser necessário para criar a chave de registo acima referenciado.

  1. Certifique-se Visual Studio não está em execução, e abrir o Editor do Registro.
  2. Navegue até HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger, clique com o botão direito e criar um novo DWORD:
    • Nome: DisableAttachSecurityWarning
    • Valor:. 1

Update: Se você não quiser abrir regedit, senão este essência como um arquivo * .reg e executá-lo (importações as chaves para todas as versões VS menor que VS2017).

Visual Studio 2017

A configuração é salva em um local do Registro privada, consulte esta resposta: https://stackoverflow.com/a/41122603/67910

Para VS 2017 , senão este essência como um arquivo .ps1 * e executá-lo como administrador, ou copie e cole o seguinte código em um arquivo 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
}

Outras dicas

A configuração de registro não funciona; no entanto, você tem que ter certeza que você configurá-lo na caixa de areia registo de 32 bits para VS2005 / 2008 ou usando o regedit.exe 32 bits no %windir%\SysWOW64\ ou adicionando-o sob HKLM\Software\Wow6432Node\.... Eu criei um script reg que simplesmente adiciona-lo para 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

Apenas alterar a versão para 8,0 em 2005, 10,0 em 2010, etc.

NOTA:. Regedit no Windows 7 parece querer reg arquivos salvos como UTF16-LE, por isso, se você salvá-lo em um arquivo .reg, estar ciente de que você precisa para fazer isso

Eu era capaz de fazê-lo funcionar no Windows 7. Eu mudei pela primeira vez o valor de registro com VS2008 ainda aberto. Eu, então, fechou-a e revigorado o editor de registro e notou que o valor foi reposto a 0. Eu, então, mudou de volta para 1 e começou VS2008. Ele agora funciona bem. Tentei perto VS2008 e abri-lo para trás e as estadias de valor de registo 1. Obrigado por sua ajuda

As outras respostas neste post conter a informação certa, mas eu tinha problemas de fazê-la funcionar assim que esta é uma tentativa de tornar a resposta muito explícito. Estas instruções trabalhou para Visual Studio 2010 em execução no Windows 7 Ultimate 64-Bit.

  • Certifique-se de que nenhuma instância do Visual Studio está executando (Use o Gerenciador de tarefas para verificar se há devenv.exe )
  • Adicione o DWORD DisableAttachSecurityWarning valor de registo para HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ x.x \ Debugger e defina o valor a ser 1 . Para Visual Studio 2008 substituirá x.x com 9,0 , para 2010 o uso 10,0

A razão pela qual eu me esforcei para começar este trabalho foi que eu estava tentando isso usando HKEY_LOCAL_MACHINE em vez de HKEY_CURRENT_USER. Eu tive que recorrer ao uso Processo monitor e um pouco de filtragem em devenv para identificar meu erro. Eu suspeito que o valor HKLM só tem qualquer efeito se ele for definido antes de abrir o Visual Studio pela primeira vez.

Qualquer instâncias abertas do Visual Studio substituirá as alterações quando eles estão fechados e só novas instâncias iria pegar a configuração em qualquer caso.

O uso do Wow6432Node registro parece ser desnecessário, tanto quanto eu posso dizer. Os seguintes comandos PowerShell aplicar as etapas para o 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

Você pode alterar o iis identidade AppPool para o seu usuário do Windows real, se é uma máquina local.

sua resposta está disponível em http://msdn.microsoft.com/ en-us / library / ms241736.aspx

Se você está depurando um legítimo cenário que causa esse aviso para aparecer, e quer suprimi-la, não é uma configuração de registro que permite que você para fazer isso. Lembre-se de reativar o aviso depois que você é feito com o cenário.

Esta não é uma resposta direta à pergunta, mas contorna a mensagem de segurança e também fornece uma maneira mais rápida para anexar a um processo anexado anteriormente:

  • Reanexar extensão
  • Anexar usando Reanexar ea mensagem é ignorada
  • re-fixação (Ctrl-R + Ctrl [05/01]) a um processo anterior tem o mesmo benefício

Powershell variante ... substituir $vsversion com a versão que você deseja aplicar a ele.

Nota : Salvar o seu trabalho antes de executar este. Todas as instâncias de VS em execução será interrompido. Se você não acabar casos VS abertas - o valor não será mantido.

$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

então, a única coisa que iria trabalhar para mim com o Visual Studio 2010 em x64 / Win7 é atualizar ambos os nós, incluindo o 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

Uma extensão de Visual Studio está disponível para VS2015 e VS2017: "Anexar a todas as coisas ":

enter descrição da imagem aqui

Você pode vincular "Anexar ao IIS" para qualquer chave acorde você gosta de usar o processo de costume.

A powershell variação com base nas respostas existentes de SliverNinja e Martin Hollingsworth. Este foi testado com Visual Studio 2015 em win7 / x64 ambiente. O script irá pedir-lhe para fechar Visual Studio se é executado (não vai tentar matá-lo).

$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!"
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top