debuggingIIS时closuresVisual Studio附加安全警告
使用Visual Studio 2008或2010时,每次连接到IIS w3wp.exe时,都会收到附加安全警告,
你怎么翻这个?
这也是很酷的知道,如何保持它的stream连忘返,因为这似乎在一段时间后超时。
顺便说一句:我添加这个作为评论下面的答案,我做的第一件事是尝试MSDN文章http://msdn.microsoft.com/en-us/library/ms241736.aspx ,但没有奏效。
在Tzury提到的文章中也发现,但总结了这个线程的答案:
确保Visual Studio在更改registry项时未运行,或者在退出时使用旧值覆盖它
更改(或创build)以下registry项为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,您可能需要创build上面引用的registry项。
- 确保Visual Studio没有运行,并打开registry编辑器。
- 导航到
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger
,右键单击并创build一个新的DWORD
:- 名称:
DisableAttachSecurityWarning
- 价值:
1
。
- 名称:
更新:如果您不想打开registry编辑器,请将此要点保存为* .reg文件并运行(导入所有VS版本低于VS2017的键)。
Visual Studio 2017
configuration保存在一个私人的registry位置,看到这个答案: https : //stackoverflow.com/a/41122603/67910
对于VS 2017 ,将这个要点保存为* .ps1文件并以pipe理员身份运行,或将以下代码复制并粘贴到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 }
registry设置确实有效; 但是,您必须确保通过使用%windir%\SysWOW64\
的32位regedit.exe或将它添加到HKLM\Software\Wow6432Node\...
下,将其设置在VS2005 / 2008的32位registry沙盒中HKLM\Software\Wow6432Node\...
我创build了一个.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年的10.0,2010年的10.0等。
注意:Windows 7上的registry编辑器似乎希望将.reg文件保存为UTF16-LE,因此如果将其保存为.reg文件,请注意您需要这样做。
我能够使它在Windows 7上工作。我已经第一次改变了VS2008仍然打开的registry值。 然后我closures它,并刷新registry编辑器,并注意到值被重置为0.然后,我把它改回1,并开始VS2008。 现在工作正常。 我试图closuresVS2008 ans打开它,registry值保持1.感谢您的帮助
在这篇文章中的其他答案包含正确的信息,但我有问题得到它的工作,所以这是一个非常明确的答案的尝试。 这些说明适用于在Windows 7 Ultimate 64位上运行的Visual Studio 2010。
- 确保没有运行Visual Studio实例(使用任务pipe理器检查devenv.exe )
- 将DWORD DisableAttachSecurityWarningregistry值添加到HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ XX \ Debugger ,并将该值设置为1 。 对于Visual Studio 2008用9.0replaceXX,对于2010用10.0
之所以我努力得到这个工作,是我试图使用HKEY_LOCAL_MACHINE而不是HKEY_CURRENT_USER。 我不得不求助于使用Process Monitor和devenv过滤来识别我的错误。 如果在第一次打开Visual Studio之前设置HKLM值,我怀疑它只有任何影响。
Visual Studio的任何打开的实例将在closures时覆盖所做的更改,并且只有新实例才能在任何情况下提取设置。
据我所知,使用Wow6432Noderegistry似乎是不必要的。 以下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标识更改为实际的Windows用户。
您可以在http://msdn.microsoft.com/en-us/library/ms241736.aspx上find答案;
如果您正在debugging导致此警告出现的合法scheme,并且想要禁止它,则会有一个registry设置,允许您执行此操作。 请记住在完成场景后重新启用警告。
Powershell变体…用你想要应用它的版本replace$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
所以,在x64 / Win7上使用Visual Studio 2010的唯一方法就是更新两个节点,包括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
这不是对问题的直接回答,而是绕过了安全信息,也提供了一种更快的方法来附加到以前附加的过程:
- 安装重新附加扩展
- 附加使用重新附加,并且消息被绕过
- 重新附加(Ctrl-R + Ctrl- [1-5])到以前的过程具有相同的好处
基于SliverNinja和Martin Hollingsworth现有答案的PowerShell变体。 这已经在win7 / x64环境下使用Visual Studio 2015进行了testing。 脚本会要求你closuresVisual 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!" }
- 我应该如何在ASP.NET 4中执行长时间运行的任务?
- 从ASP.NET网站获取IIS站点名称
- IIS,Node.js和Web应用程序与IISNode没有configuration正确的虚拟目录
- 错误的请求 – 无效的主机名,而通过移动电话的WiFi连接到本地主机
- 如何从命令提示符分配SSL证书到IIS7站点
- 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误的模块“ManagedPipelineHandler”
- ASP.NET MVC,Url路由:最大path(URL)长度
- 如何在事件日志中查找应用程序池回收
- 如何configurationIIS的URL在HTML5模式下重写AngularJS应用程序?