it-swarm.com.de

Deaktivieren Sie die Visual Studio Attach-Sicherheitswarnung beim Debuggen IIS

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.

157
roundcrisis

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.

  1. Stellen Sie sicher, dass Visual Studio nicht ausgeführt wird, und öffnen Sie den Registrierungseditor.
  2. Navigiere zu HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger, klicke mit der rechten Maustaste und erstelle ein neues DWORD:
    • Name: DisableAttachSecurityWarning
    • Wert: 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
}
228
Wiebe Tijsma

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.

13

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

8
Eric Villemure

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.

  • Stellen Sie sicher, dass keine Instanzen von Visual Studio ausgeführt werden (Verwenden Sie den Task-Manager, um zu überprüfen, ob devenv.exe)
  • Fügen Sie den Registrierungswert DWORD DisableAttachSecurityWarning zu HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\XX\Debugger hinzu und setzen Sie den Wert auf 1. Für Visual Studio 2008 ersetzen Sie X.X durch 9.0, für 2010 verwenden Sie 10.0

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.

6
Tóth Zoltán

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.

4

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:

  • install Reattach extension
  • mit Reattach anhängen und die Nachricht wird umgangen
  • das erneute Anhängen (Strg-R + Strg- [1-5]) an einen vorherigen Prozess hat den gleichen Vorteil
4
Alexei

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
3

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
2
Shawn Cicoria

Für VS2015 und VS2017 ist eine Visual Studio-Erweiterung verfügbar: "Attach To All The Things" :

enter image description here

Sie können "Attach To IIS" mit dem üblichen Verfahren an einen beliebigen Tonartakkord binden.

1
Marc Gravell

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!"
}
0
Cebe