关闭Visual Studio的调试IIS时,请将安全警告(Turn off Visual Stud

2019-07-17 19:51发布

当使用Visual Studio 2008或2010,每次你连接到IIS w3wp.exe的时候你会得到一个附加安全警告,

你怎么把这个的?

这将是酷也知道,如何保持它连接灵儿,因为这似乎是一段时间后超时。

顺便说一句:我说这是下面的答案评论,我做的第一件事就是尝试MSDN文章http://msdn.microsoft.com/en-us/library/ms241736.aspx ,但不起作用。

Answer 1:

通过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

的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

对于VS2015,你可能需要创建上面提到的注册表项。

  1. 确保Visual Studio是没有运行,打开注册表编辑器。
  2. 导航到HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger ,单击鼠标右键,创建一个新的DWORD
    • 名称: DisableAttachSecurityWarning
    • 价值: 1

更新:如果你不想打开注册表编辑器,保存这个主旨为* .reg文件并运行它(进口键的所有VS版本比VS2017更低)。

的Visual Studio 2017年

配置保存在一个私人的注册表位置,看到这样的回答: https://stackoverflow.com/a/41122603/67910

对于2017年VS,这个保存主旨为*名为.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
}


Answer 2:

注册表设置不工作; 但是,你必须确保你通过或者使用在32位的regedit.exe将其设置在VS2005 / 2008的32位注册表沙箱%windir%\SysWOW64\或在其添加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

只要改变版本8.0在2005年,10.0,为2010年等。

注:在Windows 7注册表编辑器似乎想的.reg保存为UTF-16-LE文件,所以如果你把它保存为.reg文件,要知道你需要做的。



Answer 3:

我能使其在Windows 7上工作,我都首先改变与VS2008的注册表值仍然打开。 然后我关闭它,并刷新注册表编辑器,发现该值已经重置为0,然后我改回了1,开始VS2008。 现在工作正常。 我曾试图关闭VS2008,并打开其背部和注册表值保持1.感谢您的帮助



Answer 4:

这则讯息的其他答案包含正确的信息,但我得到了它的问题的工作,所以这是在做答案非常明确的一个尝试。 这些指令的工作在Windows 7旗舰版64位运行Visual Studio 2010。

  • 确保Visual Studio的任何实例正在运行(使用任务管理器来检查的devenv.exe)
  • 添加DWORD DisableAttachSecurityWarning注册表值HKEY_CURRENT_USER \ SOFTWARE \微软\ VisualStudio的\ XX \调试器并将其值设置为1。 对于Visual Studio 2008与9.0代替XX,2010年使用10.0

为什么我在努力得到这个工作的原因是,我试图用这个HKEY_LOCAL_MACHINE代替HKEY_CURRENT_USER。 我不得不求助于使用过程监控和过滤位上devenv的,以确定我的错误的。 我怀疑HKLM值只有如果您打开Visual Studio首次之前被设置的任何影响。

当它们被关闭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


Answer 5:

您可以更改IIS应用程序池的身份,以您的实际Windows用户,如果是本地机器。



Answer 6:

你的答案是可以在http://msdn.microsoft.com/en-us/library/ms241736.aspx

如果您正在调试导致此警告出现,并希望抑制它一个合法的情况下,有一个注册表设置,允许你这样做。 记住,你与方案完成后重新启用该警告。



Answer 7:

这是不是直接回答这个问题,但它绕开安全信息,并提供附加到一个以前附加的进程更快的方法:

  • 安装重新连接扩展
  • 附加使用再次连接并该消息被旁路
  • 重新连接(CTRL-R +按Ctrl - [1-5]),以先前的方法具有同样的益处


Answer 8:

PowerShell的变种...替换$vsversion你想将它应用到的版本。

:在运行此之前,保存工作。 所有正在运行的情况下,VS将停止。 如果不结束VS情况下开放 - 该值将不会被保留。

$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


Answer 9:

因此,只有将我与Visual Studio 2010的工作在x64的东西/ Win7的是更新两个节点,包括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


Answer 10:

一个Visual Studio扩展可用于VS2015和VS2017: “附加到所有的事情” :

您可以绑定“附加到IIS”到任何键弦你喜欢使用通常的过程。



Answer 11:

基于从SliverNinja和马丁·霍林斯沃思现有答案PowerShell的变化。 这已经过测试,在WIN7 / X64环境的Visual Studio 2015年 。 该脚本会问你,如果它的运行,关闭的Visual Studio(不会试图杀死它)。

$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!"
}


文章来源: Turn off Visual Studio Attach security warning when debugging IIS