Saat menggunakan Visual Studio 2008 atau 2010, setiap kali Anda melampirkan ke IIS w3wp.exe Anda mendapatkan Peringatan Keamanan Lampirkan,
Bagaimana Anda mengubah ini?
Akan sangat keren untuk mengetahui juga, bagaimana membuatnya tetap melekat untuk berlama-lama, karena ini sepertinya akan keluar setelah beberapa saat.
Btw: Saya menambahkan ini sebagai komentar pada jawaban di bawah ini, hal pertama yang saya lakukan adalah mencoba artikel msdn http://msdn.microsoft.com/en-us/library/ms241736.aspx tetapi itu tidak berhasil.
visual-studio-2010
visual-studio
visual-studio-2008
iis
iis-7
krisis bundar
sumber
sumber
Jawaban:
Juga ditemukan dalam artikel yang disebutkan oleh Tzury, tetapi untuk meringkas jawaban di utas ini:
pastikan Visual Studio tidak berjalan ketika mengubah kunci registri atau itu akan ditimpa saat keluar dengan nilai lama
Ubah (atau buat) kunci registri berikut ke 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
Untuk VS2015, Anda mungkin perlu membuat Kunci Registri yang dirujuk di atas.
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\Debugger
, klik kanan dan buat yang baruDWORD
:DisableAttachSecurityWarning
1
.Pembaruan: Jika Anda tidak ingin membuka regedit, simpan inti ini sebagai file * .reg dan jalankan (impor kunci untuk semua versi VS yang lebih rendah dari VS2017).
Visual Studio 2017
Konfigurasi disimpan di lokasi registri pribadi, lihat jawaban ini: https://stackoverflow.com/a/41122603/67910
Untuk VS 2017 , simpan inti ini sebagai file * .ps1 dan jalankan sebagai admin, atau salin dan tempel kode berikut dalam file ps1:
sumber
Pengaturan registri tidak berfungsi; Namun, Anda harus memastikan bahwa Anda mengaturnya di sandbox registri 32-bit untuk VS2005 / 2008 dengan menggunakan regedit.exe 32-bit di
%windir%\SysWOW64\
atau menambahkannya di bawahHKLM\Software\Wow6432Node\...
. Saya membuat skrip .reg yang hanya menambahkannya ke keduanya:Ubah saja versinya menjadi 8.0 untuk 2005, 10.0 untuk 2010, dll.
CATATAN: regedit pada Windows 7 tampaknya menginginkan file .reg disimpan sebagai UTF16-LE, jadi jika Anda menyimpannya ke file .reg, perlu diketahui bahwa Anda harus melakukannya.
sumber
Saya dapat membuatnya Bekerja pada Windows 7. Saya pertama kali mengubah nilai registri dengan VS2008 masih terbuka. Saya kemudian menutupnya dan me-refresh registry editor dan memperhatikan bahwa nilainya di reset ke 0. Saya kemudian mengubahnya kembali ke 1 dan mulai VS2008. Sekarang berfungsi dengan baik. Saya telah mencoba untuk menutup VS2008 dan membukanya kembali dan nilai registri tetap 1. Terima kasih atas bantuan Anda
sumber
Jawaban lain dalam posting ini berisi informasi yang benar tetapi saya mempunyai masalah untuk membuatnya bekerja sehingga ini merupakan upaya untuk membuat jawabannya sangat eksplisit. Petunjuk ini berfungsi untuk Visual Studio 2010 yang berjalan pada Windows 7 Ultimate 64-Bit.
Alasan mengapa saya berjuang agar ini berfungsi adalah karena saya mencoba menggunakan HKEY_LOCAL_MACHINE alih-alih HKEY_CURRENT_USER. Saya harus menggunakan Proses Monitor dan sedikit penyaringan pada devenv untuk mengidentifikasi kesalahan saya. Saya menduga nilai HKLM hanya memiliki pengaruh jika diatur sebelum Anda membuka Visual Studio untuk pertama kalinya.
Instance terbuka dari Visual Studio akan menimpa perubahan Anda ketika ditutup dan hanya instans baru yang akan mengambil pengaturan dalam hal apa pun.
Penggunaan registri Wow6432Node tampaknya tidak perlu sejauh yang saya tahu. Perintah Powershell berikut ini akan menerapkan langkah-langkah untuk Visual Studio 2010.
sumber
Anda dapat mengubah identitas AppPool iis menjadi pengguna windows Anda yang sebenarnya, jika itu adalah mesin lokal.
sumber
jawaban Anda tersedia di http://msdn.microsoft.com/en-us/library/ms241736.aspx
sumber
Ini bukan jawaban langsung untuk pertanyaan, tetapi menghindari pesan keamanan dan juga menyediakan cara yang lebih cepat untuk melampirkan ke proses yang sebelumnya dilampirkan:
sumber
Varian Powershell ... ganti
$vsversion
dengan versi yang Anda inginkan.Catatan : Simpan pekerjaan Anda sebelum menjalankan ini. Semua instance VS yang berjalan akan dihentikan. Jika Anda tidak mengakhiri instance VS yang terbuka - nilainya tidak akan dipertahankan.
sumber
jadi, satu-satunya hal yang akan bekerja untuk saya dengan Visual Studio 2010 pada x64 / Win7 adalah memperbarui kedua node, termasuk Wow6432Node.
sumber
Ekstensi Visual Studio tersedia untuk VS2015 dan VS2017: "Lampirkan ke Semua Hal" :
Anda dapat mengikat "Lampirkan pada IIS" pada kunci kunci apa pun yang Anda suka gunakan proses yang biasa.
sumber
Sebuah PowerShell variasi berdasarkan jawaban yang ada dari SliverNinja dan Martin Hollingsworth. Ini telah diuji dengan Visual Studio 2015 pada lingkungan win7 / x64 . Skrip akan meminta Anda untuk menutup Visual Studio jika sedang berjalan (tidak akan mencoba membunuhnya).
sumber