Wyłączanie Ostrzeżenia o dołączaniu programu Visual Studio podczas debugowania usług IIS

Podczas korzystania z Visual Studio 2008 lub 2010, za każdym razem, gdy dołączasz do IIS w3wp.exe dostajesz dołączone Ostrzeżenie Bezpieczeństwa,

Jak to obrócić?

Fajnie byłoby też wiedzieć, jak trzymać go przy sobie na dłużej, ponieważ wydaje się, że po pewnym czasie się to kończy.

Btw: dodałem to jako komentarz do Odpowiedzi poniżej, pierwszą rzeczą jaką zrobiłem było wypróbowanie artykułu msdn http://msdn.microsoft.com/en-us/library/ms241736.aspx ale to nie działa.

Author: Leniel Maccaferri, 2009-09-12

11 answers

Również znaleźć w artykule wspomnianym przez Tzury, ale podsumowując odpowiedzi w tym wątku:

Upewnij się, że Visual Studio nie jest uruchomiony podczas zmiany klucza rejestru lub zostanie nadpisany przy wyjściu ze starą wartością

Zmień (lub utwórz) następujący klucz rejestru na 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

W przypadku VS2015 konieczne może być utworzenie klucza rejestru, o którym mowa powyżej.

  1. upewnij się, że program Visual Studio nie jest uruchomiony i otwórz Edytor rejestru.
  2. przejdź do HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger, Kliknij prawym przyciskiem myszy i utwórz nowy DWORD:
    • Nazwa: DisableAttachSecurityWarning
    • wartość: 1.

Aktualizacja: Jeśli nie chcesz otworzyć regedit, zapisz ten gist jako *.reg plik i uruchom go (importuje klucze dla wszystkich wersji VS niższych niż VS2017).

Visual Studio 2017

Konfiguracja jest zapisywana w prywatnej lokalizacji rejestru, zobacz tę odpowiedź: https://stackoverflow.com/a/41122603/67910

Dla VS 2017, zapisz ten gist jako plik *.ps1 i uruchom go jako admin, lub skopiuj i wklej następujący kod do pliku 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
}
 223
Author: Wiebe Tijsma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-22 14:08:12

Ustawienie rejestru działa; jednak musisz upewnić się, że ustawiłeś go w 32-bitowej piaskownicy rejestru dla VS2005 / 2008 za pomocą 32-bitowego regedit.exe w %windir%\SysWOW64\ lub dodanie go pod HKLM\Software\Wow6432Node\.... Stworzyłem .skrypt reg, który po prostu dodaje go do obu:

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

Wystarczy zmienić wersję na 8.0 Dla 2005, 10.0 Dla 2010, itd.

Uwaga: regedit w Windows 7 wydaje się chcieć .pliki reg zapisane jako UTF16-LE, więc jeśli zapisać go do ./ align= "left" /

 13
Author: Chris R. Donnelly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-03 03:22:42

Udało mi się to zrobić na Windows 7. Najpierw zmieniłem wartość rejestru z VS2008 nadal otwarty. Następnie zamknąłem go i odświeżyłem edytor rejestru i zauważyłem, że wartość została zresetowana do 0. Następnie zmieniłem go z powrotem na 1 i zacząłem VS2008. Teraz działa dobrze. Próbowałem zamknąć VS2008 i otworzyć go z powrotem, a wartość rejestru pozostaje 1. Dzięki za pomoc

 8
Author: Eric Villemure,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-14 18:07:40

Inne odpowiedzi w tym poście zawierają odpowiednie informacje, ale miałem problemy z uruchomieniem go, więc jest to próba jednoznacznej odpowiedzi. Instrukcje te działały dla Visual Studio 2010 działającego w systemie Windows 7 Ultimate 64-Bit.

  • Upewnij się, że żadne instancje Visual Studio nie są uruchomione (Użyj Menedżera zadań, aby sprawdzić devenv.exe )
  • Dodaj wartość rejestru DWORD DisableAttachSecurityWarning do HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio\X. X \ Debugger i ustaw wartość na 1. Dla Visual Studio 2008 zamień X. X na 9.0, na rok 2010 użyj 10,0

Powodem, dla którego starałem się, aby to działało, było to, że próbowałem tego za pomocą HKEY_LOCAL_MACHINE zamiast HKEY_CURRENT_USER. Musiałem użyć Process Monitor i trochę filtrowania na devenv, aby zidentyfikować mój błąd. Podejrzewam, że wartość HKLM ma wpływ tylko wtedy, gdy zostanie ustawiony przed pierwszym otwarciem programu Visual Studio.

Wszystkie otwarte instancje programu Visual Studio nadpiszą zmiany, gdy zostaną zamknięte i tylko nowe instancje w każdym przypadku będą odbierać ustawienia.

Użycie rejestru Wow6432Node wydaje się zbędne, o ile mogę powiedzieć. Poniższe polecenia Powershell zastosują kroki dla programu 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
 6
Author: Martin Hollingsworth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-06 19:55:59

Możesz zmienić tożsamość aplikacji iis na rzeczywistego użytkownika windows, jeśli jest to maszyna lokalna.

 6
Author: Tóth Zoltán,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-11 18:43:42

Twoja odpowiedź jest dostępna pod adresem http://msdn.microsoft.com/en-us/library/ms241736.aspx

Jeśli debugujesz legalny scenariusz, który powoduje, że ostrzeżenie to pojawiają się i chcą go stłumić, tam jest ustawieniem rejestru, które pozwala na żeby to zrobić. Pamiętaj, aby ponownie włączyć Ostrzeżenie po zakończeniu z scenariusz.

 4
Author: Tzury Bar Yochay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-12 11:54:39

Nie jest to bezpośrednia odpowiedź na pytanie, ale omija komunikat bezpieczeństwa, a także zapewnia szybszy sposób dołączenia do wcześniej dołączonego procesu:

  • install Reattach extension
  • załącz za pomocą Reattacha i wiadomość zostanie pominięta
  • ponowne dołączenie (Ctrl-R + Ctrl-[1-5]) do poprzedniego procesu ma tę samą korzyść
 4
Author: Alexei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-18 21:08:34

Powershell variant...zastąp $vsversion wersją, do której chcesz ją zastosować.

Uwaga: oszczędź sobie pracy, zanim to uruchomisz. Wszystkie uruchomione instancje VS zostaną zatrzymane. Jeśli nie zakończysz instancji open VS - wartość nie zostanie zachowana.

$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
Author: SliverNinja - MSFT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-25 19:39:21

Więc jedyną rzeczą, która by mi pasowała z Visual Studio 2010 na x64 / Win7 jest aktualizacja obu węzłów, w tym 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
 2
Author: Shawn Cicoria - MSFT,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-11 14:40:34

Rozszerzenie Visual Studio jest dostępne dla VS2015 i VS2017: "Dołącz do wszystkich rzeczy":

Tutaj wpisz opis obrazka

Możesz powiązać "Dołącz do IIS" do dowolnego akordu kluczowego, używając zwykłego procesu.

 1
Author: Marc Gravell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-01 16:55:13

A odmiana powershell oparta na istniejących odpowiedziach Sliverninji i Martina Hollingswortha. To zostało przetestowane z Visual Studio 2015 w środowisku win7/x64. Skrypt poprosi o zamknięcie Visual Studio, jeśli jest uruchomiony (nie będzie próbował go zabić).

$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
Author: Cebe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-09 09:47:48