Wenn Sie Visual Studio 2008 oder 2010 verwenden, wird bei jedem Anhängen an IIS w3wp.exe) eine Sicherheitswarnung anhängen angezeigt.
Wie drehst du das ab?
Es wäre cool zu wissen, wie man es zum Verweilen anbringt, da dies nach einer Weile abläuft.
Btw: Ich habe dies als Kommentar zu der Antwort unten hinzugefügt. Als erstes habe ich den MSDN-Artikel ausprobiert http://msdn.Microsoft.com/en-us/library/ms241736.aspx aber das geht nicht.
Auch in dem Artikel von Tzury erwähnt, aber um die Antworten in diesem Thread zusammenzufassen:
Stellen Sie sicher, dass Visual Studio beim Ändern des Registrierungsschlüssels nicht ausgeführt wird. Andernfalls wird es beim Beenden mit dem alten Wert überschrieben.
Ändern (oder erstellen) Sie den folgenden Registrierungsschlüssel in 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
Für VS2015 müssen Sie möglicherweise den oben angegebenen Registrierungsschlüssel erstellen.
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger
, klicke mit der rechten Maustaste und erstelle ein neues DWORD
: DisableAttachSecurityWarning
1
.Update: Wenn Sie regedit nicht öffnen möchten, speichern Sie diese Gist als * .reg-Datei und führen Sie sie aus (Importiert die Schlüssel für alle VS-Versionen niedriger als VS2017).
Visual Studio 2017
Die Konfiguration wird an einem privaten Speicherort in der Registrierung gespeichert (siehe folgende Antwort): https://stackoverflow.com/a/41122603/6791
Speichern Sie für VS 2017 diese Gist als * .ps1-Datei und führen Sie sie als admin aus, oder kopieren Sie die folgenden Dateien und fügen Sie sie ein Code in einer ps1-Datei:
#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
}
Die Registrierungseinstellung funktioniert; Sie müssen es jedoch in der 32-Bit-Registrierungs-Sandbox für VS2005/2008 festlegen, indem Sie entweder die 32-Bit-Datei regedit.exe in %windir%\SysWOW64\
verwenden oder unter HKLM\Software\Wow6432Node\...
hinzufügen. Ich habe ein .reg-Skript erstellt, das es einfach beiden hinzufügt:
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
Ändern Sie einfach die Version auf 8.0 für 2005, 10.0 für 2010 usw.
ANMERKUNG: regedit unter Windows 7 scheint zu wollen, dass .reg-Dateien als UTF16-LE gespeichert werden. Wenn Sie es also in einer .reg-Datei speichern, müssen Sie sich dessen bewusst sein.
Ich konnte es unter Windows 7 zum Laufen bringen. Ich habe zuerst den Registrierungswert geändert, wobei VS2008 noch geöffnet war. Ich habe es dann geschlossen und den Registrierungseditor aktualisiert und festgestellt, dass der Wert auf 0 zurückgesetzt wurde. Dann habe ich ihn wieder auf 1 geändert und VS2008 gestartet. Es funktioniert jetzt gut. Ich habe versucht, VS2008 zu schließen und wieder zu öffnen, und der Registrierungswert bleibt bei 1. Vielen Dank für Ihre Hilfe
Die anderen Antworten in diesem Beitrag enthalten die richtigen Informationen, aber ich hatte Probleme, sie zum Laufen zu bringen. Dies ist ein Versuch, die Antwort sehr deutlich zu machen. Diese Anweisungen galten für Visual Studio 2010 unter Windows 7 Ultimate 64-Bit.
Der Grund, warum ich Schwierigkeiten hatte, dies zum Laufen zu bringen, war, dass ich dies mit HKEY_LOCAL_MACHINE anstelle von HKEY_CURRENT_USER versuchte. Ich musste auf Process Monitor zurückgreifen und ein bisschen nach devenv filtern, um meinen Fehler zu identifizieren. Ich vermute, dass der HKLM-Wert nur dann Auswirkungen hat, wenn er festgelegt wird, bevor Sie Visual Studio zum ersten Mal öffnen.
Alle offenen Instanzen von Visual Studio überschreiben Ihre Änderungen, wenn sie geschlossen werden, und nur neue Instanzen würden die Einstellung in jedem Fall übernehmen.
Die Verwendung der Wow6432Node -Registrierung scheint meines Erachtens unnötig zu sein. Mit den folgenden PowerShell-Befehlen werden die Schritte für Visual Studio 2010 angewendet.
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
Sie können die iis AppPool-Identität in Ihren tatsächlichen Windows-Benutzer ändern, wenn es sich um einen lokalen Computer handelt.
ihre Antwort finden Sie unter http://msdn.Microsoft.com/en-us/library/ms241736.aspx
Wenn Sie ein legitimes Szenario debuggen, bei dem diese Warnung angezeigt wird, und es unterdrücken möchten, gibt es eine Registrierungseinstellung, mit der Sie dies tun können. Denken Sie daran, die Warnung wieder zu aktivieren, nachdem Sie mit dem Szenario fertig sind.
Dies ist keine direkte Antwort auf die Frage, sondern umgeht die Sicherheitsnachricht und bietet eine schnellere Möglichkeit zum Anhängen an einen zuvor angehängten Prozess:
Powershell Variante ... Ersetzen Sie $vsversion
Durch die Version, auf die Sie es anwenden möchten.
Hinweis : Speichern Sie Ihre Arbeit, bevor Sie diese ausführen. Alle laufenden VS-Instanzen werden gestoppt. Wenn Sie offene VS-Instanzen nicht beenden, wird der Wert nicht beibehalten.
$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
das einzige, was für mich mit Visual Studio 2010 unter x64/Win7 funktionieren würde, ist die Aktualisierung beider Knoten, einschließlich des Wow6432-Knotens.
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
Für VS2015 und VS2017 ist eine Visual Studio-Erweiterung verfügbar: "Attach To All The Things" :
Sie können "Attach To IIS" mit dem üblichen Verfahren an einen beliebigen Tonartakkord binden.
A Powershell Variation basierend auf vorhandenen Antworten von SliverNinja und Martin Hollingsworth. Dies wurde mit Visual Studio 2015 in einer win7/x64 -Umgebung getestet. Das Skript fordert Sie auf, Visual Studio zu schließen, wenn es ausgeführt wird (versucht nicht, es zu beenden).
$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!"
}