Inilah yang saya dapatkan bahkan ketika saya menjalankan konfigurasi Debug:
Cara saya menunjukkan ini adalah dengan mengaktifkan "Just My Code" dan memperingatkan jika tidak ada kode pengguna saat peluncuran. Ini adalah sesuatu yang baru-baru ini terjadi pada proyek kami, dan saya tidak yakin apa yang kami lakukan untuk menyebabkan ini. Tetapi saya tidak dapat memperbaikinya. Breakpoint tidak akan menyala dan jam tangan cepat memberikan hasil yang aneh.
Saya sudah mencoba mencari masalah di Google, tetapi tidak ada solusi standar "break point tidak akan menyala" yang berhasil. Saya kehabisan ide.
Saya telah memeriksa manajer konfigurasi dan setiap proyek juga diatur ke Debug di sana juga.
Saya menonaktifkan "Aktifkan Pengoptimalan", dan saya tidak lagi mendapatkan dialog "Anda sedang men-debug Rilis build". Ini berjalan dan berhenti di breakpoint lagi! Namun jendela keluaran menampilkan ini saat start up:
Simbol untuk modul 'Navigo.exe' tidak dimuat.
- Gunakan konfigurasi build debug atau nonaktifkan opsi debug 'Enable Just My Code'.
- Periksa pengaturan 'Simbol' di bawah opsi debugging.
Jadi ini memecahkan masalah utama saya karena tidak lagi dapat menggunakan breakpoint dan popup. Yang aneh karena saya pikir Anda perlu simbol yang akan dimuat agar breakpoint berfungsi. Jadi bagaimana breakpoint bekerja jika simbol tidak dimuat? Mungkin itu hanya pesan yang buruk?
Jawaban:
Gunakan Pengelola Konfigurasi untuk memeriksa pengaturan sebenarnya untuk konfigurasi Debug - ada di menu Bangun → Pengelola Konfigurasi ... - jika disetel untuk menggunakan Rilis :
Selain itu, pastikan project tersebut menentukan DEBUG dengan benar, dan "Optimize Code" tidak dicentang:
sumber
Ini telah terjadi pada saya pada beberapa proyek juga. Saya meninjau pengaturan build saya, seperti yang disarankan oleh stuartd . Namun, 'Optimalkan kode' tidak diaktifkan di pengaturan build saya. Jadi saya mengaktifkannya dan menyimpan proyek. Lalu saya hapus centangnya dan simpan lagi. Masalah terpecahkan.
Ada beberapa jenis bug yang menyebabkan
--optimize+
flag diteruskan ke debugger. Mengaktifkan dan menonaktifkannya adalah solusi yang mudah sampai bug diperbaiki.sumber
Ini mulai terjadi pada saya setelah menerapkan Pembaruan 1. Proyek yang sudah ada mulai menunjukkan ini, dan saya dapat menirunya dengan proyek baru. Semua konfigurasi diatur untuk DEBUG, dan Optimalkan adalah tidak diperiksa.
Masalahnya, menjalankan proyek untuk pertama kali (atau setelah Clean) berjalan dengan baik, tanpa pesan apa pun. Menghentikan, lalu menjalankan kembali proyek (catatan - proyek tidak dibangun kembali ) akan menampilkan dialog.
Satu-satunya solusi adalah mematikan opsi Just My Code - yang tampaknya diretas, seperti yang terjadi sebelumnya pada Pembaruan 1 tanpa masalah.
sumber
Jika tidak ada solusi yang disebutkan yang membantu, periksa AssemblyInfo.cs proyek Anda untuk aplikasi DebuggableAttribute eksplisit. Sepertinya ini mengganti opsi debug / rilis kompiler.
Saya memiliki baris ini di file dalam kasus saya (proyek lama, tidak tahu bagaimana itu sampai di sana). Menghapusnya memecahkan masalah:
sumber
Pilih menu Debug → Options dan batalkan pilihan opsi Suppress JIT optimization . Ini bekerja untuk saya.
Sumber: https://connect.microsoft.com/VisualStudio/feedback/details/2116788/flag-optimize-is-passed-to-the-debugger-even- While-the-build-settings-optimize-code-is- tidak-diaktifkan-di-mvc-c-web-proyek-ketika-menggunakan-hanya-kode-saya
sumber
Saya mengalami masalah ini juga. Perbaikan yang berhasil adalah dengan membersihkan (
Build > Clean Solution
) dan membangun kembali (Build > Rebuild Solution
) proyek saya.sumber
Tak satu pun dari jawaban sebelumnya berhasil untuk saya. Memulai ulang IIS memperbaikinya.
sumber
Hanya menambahkan catatan tambahan untuk jawaban stuartd :
Pastikan Anda memeriksa project dependen untuk setelan build yang sama. Anda akan mendapatkan prompt pesan yang sama jika proyek utama Anda memiliki pengaturan yang tepat, tetapi proyek dependen Anda tidak. Masuk akal jika dilihat ke belakang, tetapi itu bukan hal pertama yang terlintas dalam pikiran.
sumber
Dalam kasus saya, masalahnya adalah bahwa IIS Project URL di tab web properti proyek ASP.NET saya disetel ke URL yang salah.
Itu menunjuk ke http: // localhost yang saya gunakan dengan salinan proyek yang berbeda. Alamat untuk solusi yang saya buka sebenarnya dikonfigurasi di IIS lokal saya sebagai http: // localhost: 90 .
Mengganti ke alamat yang benar memperbaiki masalah.
sumber
Saya mencoba hampir semua yang ada dalam daftar ini, tetapi pada akhirnya saya memperbaikinya dengan membuka properti solusi dan beralih dari "Beberapa proyek startup" ke "Proyek startup tunggal" dan kembali lagi.
sumber
Saya memiliki masalah yang sama ... Tidak peduli apa yang saya lakukan - tidak ada yang berhasil.
Itu adalah proyek kosong baru yang menjadi masalahnya. Saya akhirnya menghapus proyek dan menambahkan proyek baru - proyek baru harus memiliki nama lain ; jika saya menggunakan nama yang sama kesalahan baru saja muncul kembali - bahkan setelah reboot, bersihkan dan bangun kembali ... Pasti bug di Visual Studio 2015.
sumber
Bagi saya, ini adalah referensi NuGet dari server NuGet pribadi. Saya tidak tahu bagaimana itu dikompilasi, tetapi mengubah referensi ke referensi proyek membuat saya melewati masalah.
sumber
Saya telah membuka proyek Visual Studio 2012 Pro saya di Visual Studio 2015 Express dan memiliki masalah yang sama.
Saya memeriksa properti Solusi saya → Properti Konfigurasi , dan menemukan sebuah proyek disetel ke Rilis & x86.
Saya mengubahnya kembali ke Debug dan Semua CPU , dan prompt telah hilang.
sumber
Dalam kasus saya, saya mengembangkan plugin VSTO untuk Outlook , dan Outlook secara tidak sengaja memuat versi rilis file DLL yang baru-baru ini saya instal saat menguji penginstal saya.
Sepertinya Visual Studio mencoba menggunakan DLL itu daripada Debug yang saya harapkan. Memperbaiki file DLL mana yang sedang dimuat oleh Outlook memperbaiki ini untuk saya.
sumber
Menyalin jawaban saya yang lain dari sini .
Seperti yang disebutkan oleh @romanoza, Microsoft telah memperbarui laporan bug dengan informasi berikut:
Ini solusinya. Mereka melanjutkan dengan mengatakan nanti:
Terakhir, pengakuan:
sumber
Saya menemui masalah yang sama, dan akhirnya saya menyelesaikannya dengan memilih "Disable Just My Code and Continue" .
Hanya Pengaturan Kode Saya
sumber
Langkah resolusi:
Pergi ke pengaturan Build dari halaman Properties proyek yang melanggar .
Gulir ke kanan ke bawah ke tombol "Lanjutan ..." .
Pastikan “Debug Info:” ini tidak diatur ke “none” .
Saya menyarankan Anda untuk menggunakan opsi lengkap .
sumber
Setelah melihat tautan oleh Patrick sebagai komentar atas pertanyaan tersebut , seseorang mencatat solusi untuk menghentikan situs di IIS Express . Saya dapat mencegah masalah yang sama ini timbul dengan melakukan hal itu setelah menghentikan debugger di Visual Studio.
Namun, saya memeriksanya lebih lanjut, dan saya yakin ini juga bisa terkait dengan pengaturan 'Edit dan Lanjutkan' untuk debugger. Ketika saya menonaktifkannya di menu Tools → Options ... dari Visual Studio, saya tidak lagi mengalami masalah. Tetapi itu akan mencegah Anda menggunakan fitur Edit dan Lanjutkan , jadi saya tidak yakin apakah itu sepadan bagi Anda.
Alat Menu → Pilihan → Debugger → Edit dan Lanjutkan (gulir ke bawah daftar Umum) → hapus centang pada kotak centang Edit dan Lanjutkan .
Saya juga mengalami ini tiba-tiba setelah menginstal Pembaruan 1, tetapi mungkin saja saya telah menonaktifkan pengaturan ini di tempat pertama ... Saya tidak yakin.
sumber
Jika Anda hanya perlu melanjutkan tanpa penundaan lebih lanjut, pilih opsi terakhir dari munculan dan semua akan berjalan sama seperti sebelumnya.
sumber
Ini adalah peringatan yang aneh.
Membangun kembali Solusi belum tentu menghapus semua file DLL (terutama yang disalin dari proyek dependen).
Namun, membangun kembali proyek ketergantungan membuat peringatan ini hilang.
Saya menghadapi ini dengan Visual Studio 2015 Update 3.
sumber
Solusi saya sedikit berbeda dari yang lain dan agak unik.
Saya bekerja dengan situs web yang berisi campuran kode terkelola dan ASP Classic , keduanya merujuk pada rakitan yang sama. Visual Studio mengeluh bahwa file DLL terkelola saya adalah versi rilis.
Masalahnya adalah pengecualian yang tidak tertangkap dalam perakitan saya, tetapi itu dilemparkan oleh halaman ASP Classic melalui interop. Visual Studio tidak dapat menangani debugging ini dan menampilkan pesan galat. Pengecualian yang sama yang dilontarkan dari kode terkelola akan memunculkan debugger seperti yang diharapkan.
Memperbaiki masalah di konstruktor perakitan terkelola saya memperbaiki semuanya.
Sekarang semua masuk akal karena saya melihat kembali gambaran besarnya, tetapi pada saat itu, pesan kesalahan membawa saya ke jalan yang sangat dalam, dan saya mencoba semua jawaban di sini sampai saya mendapatkan "Ah-ha!" saat.
sumber
Saya menghabiskan dua hari, dan sepertinya Reset the Visual Studio 2017 Experimental Instance membantu saya.
sumber