Ok, apa yang saya miliki:
Visual Studio 2010 RC, W7 x64, memulai jenis proyek baru aplikasi Silverlight. Hosting aplikasi Silverlight dalam Proyek Aplikasi Web ASP.NET. Silverlight Versi 3.0. Menambahkan Kelas LinqToSQL, Layanan WCF, Aplikasi Penguji Winform (Proyek dalam Solusi) dan beberapa Kelas (juga sebagai Proyek dalam Solusi).
Kemarin, tiba-tiba saya mendapatkan 'Breakpoint saat ini tidak akan terkena. Tidak ada simbol yang dimuat untuk dokumen ini. ' pesan muncul di IDE, tetapi hanya mempengaruhi Aplikasi Web, saya bisa men-debug Silverlight dan Aplikasi Winform.
Apa yang saya coba / lakukan untuk menghilangkan pesan:
- Reset Pengaturan Visual Studio
- menghapus semua file di setiap \ Temporary ASP.NET Files Folder (ada satu untuk setiap 32bit / 64bit dan untuk Framework 2.0 dan 4.0)
- mencoba men-debug menggunakan Visual Studio Integrated Web server - biasanya saya menggunakan IIS, dalam output proyek dari solusi saya menghapus setiap folder obj dan bin di setiap folder proyek
- menciptakan solusi baru dan menambahkan semua proyek ke solusi baru ini
- menghapus file suo solusi
- membuat Aplikasi Web ASP.NET baru untuk menguji apakah ini masalah VS-instalasi => Saya bisa men-debug proyek / solusi baru ini
- reboot mesin beberapa kali
- memperbaiki instalasi vs.net
- melakukan IISReset
- menghapus Aplikasi Web dari IIS
- menggunakan Tombol Buat Direktori Virtual di bawah Properti Proyek dari Aplikasi Web untuk membuat Aplikasi Web baru di IIS
- mengubah Versi Kerangka kerja setiap proyek dari 3,5 menjadi 4.0
- Membuka Solusi di mesin kedua saya => perilaku yang sama
- merangkak Microsoft Connect untuk bug / masalah serupa
- MENGHABISKAN 7 JAM.
Jadi, ini terjadi kedua kalinya dalam hidupku. Terakhir kali saya menyelesaikannya dengan menghapus Folder File ASP.NET Sementara, tapi kali ini saya membutuhkan bantuan Anda.
Jawaban:
Klik kanan pada solusi -> Properties
Lihat di bawah Common Properties -> Startup Project
Pilih beberapa proyek startup
pilih Mulai tindakan pada proyek yang perlu Anda debug.
sumber
Saya memiliki masalah yang sama dan setelah googling saya menemukan dua solusi khas untuk ini:
Pastikan debugger Silverlight diaktifkan di proyek .Web. Buka properti proyek dan pilih debugger Silverlight di bawah tab "Web".
Mulai ulang Visual Studio dan hapus semua folder bin dan obj.
Tetapi tidak ada yang bekerja untuk saya . Kemudian seseorang menyebutkan utas untuk mencoba menggunakan IE sebagai browser. Ini membuat debugging dan breakpoints bekerja lagi!
Edit:
Kemudian saya berjuang dengan IE9 tidak berfungsi, karena melekat pada proses yang salah. Alih-alih melampirkan secara manual ke proses IE yang benar setiap kali, saya menemukan trik yang rapi :
Sekarang, Visual Studio akan meluncurkan IE saat menjalankan proyek .Web dan melampirkan ke proses yang benar. Itu harus dilakukan.
sumber
Setiap kali saya mendapatkan kesalahan khusus ini, ternyata folder tempat Visual Studio memuat majelis berbeda dari folder tempat aplikasi web dijalankan.
Artinya, server aplikasi menjalankan aplikasi dari
tetapi Visual studio sedang debug dari
Catatan - karena berbagai alasan, saya melakukan debugging dengan IIS sebagai host aplikasi alih-alih alat mandiri mungil yang digunakan kebanyakan orang. Ini bisa mempengaruhi kegunaan jawaban saya!
Perbarui :
Untuk IIS direktori server aplikasi (yaitu di
C:\dev\MyApplication
atas) adalah direktori fisik yang dikonfigurasi untuk aplikasi web - ini dapat dikontrol dengan mengubah pengaturan dasar untuk aplikasi.Untuk Visual studio direktori debugging (yaitu di
C:\dev\MyOtherApplication
atas) adalah direktori di manasvc
file Anda ditemukan, biasanya direktori yang sama dengancsproj
file proyek Anda .sumber
Masalahnya bagi saya ternyata adalah bahwa kotak centang Properti-> Build-> Optimize kode telah dihidupkan dalam konfigurasi Debug. Mematikannya, membangun kembali, dan debugging berfungsi seperti biasa.
sumber
Alasan yang Anda hadapi adalah bahwa PDBs ("PDB adalah singkatan dari Program Database, format file berpemilik (dikembangkan oleh Microsoft) untuk menyimpan informasi debug tentang suatu program) tidak mutakhir, ini mungkin karena beberapa alasan :
1- Seperti yang dikatakan Bevan, Anda mungkin men-debug aplikasi lain!
2- Anda sedang men-debug versi lain dari aplikasi yang sama. Misalnya, Anda melampirkan aplikasi yang dibuat sebelumnya dengan versi kode saat ini untuk debugging tanpa membangun kembali.
Membersihkan atau Membangun Kembali Solusi memecahkan masalah seperti itu untuk saya.
Untuk memastikan masalahnya bukan milik Anda, coba debug aplikasi yang sama dengan VS 2008 (saya khawatir ini mungkin bug di VS 2010 - ini masih beta!).
sumber
Saya memiliki masalah yang sama, saya sedang men-debug proyek saya, dan saya harus mengklik kanan proyek dan memilih "contoh debug baru". Saya hanya perlu melakukan ini sekali, lalu setelah itu berfungsi seperti biasa.
sumber
Kesalahan ini muncul setiap saat untuk saya dan saya selalu dapat melacaknya kembali ke pengaturan proyek untuk majelis yang bersangkutan. Anda tidak perlu "menunggu" sampai kode Anda gagal menghormati titik istirahat atau sampai Anda menetapkan titik istirahat, untuk mengetahui majelis mana yang simbolnya dimuat.
Ketika Anda menjalankan proyek dalam mode debug itu akan terdaftar di jendela Output yang rakitan memiliki simbol dimuat seperti di bawah ini (Anda mungkin perlu membuka gambar di tab baru): T
Jadi dalam hal ini BASD.Core.Data.dll TIDAK memiliki simbol yang dimuat. Jadi, Anda kemudian dapat membandingkan pengaturan proyek untuk rakitan ini dengan rakitan lain yang berhasil memuat simbol, untuk mengetahui mengapa beberapa melakukan dan beberapa tidak memuat simbol.
"Bagi saya", "setiap" kali ini terjadi karena info Debug tidak dibuat. Jadi saya membuka Project Properties> Build> Advanced dalam proyek (C #).
Jadi untuk Basd.Core.Data.dll di atas yaitu tidak ada simbol pengaturan build lanjutan adalah:
Sedangkan untuk Basd.Core.Configuration.dll yaitu perakitan di mana saya bisa mengatur dan mencapai breakpoint pengaturannya adalah:
Jadi saya mengeluarkan info debug di proyek terakhir dan bukan yang pertama, maka kemampuan saya untuk mencapai break point di Basd.Core.Configuration.dll
Juga perhatikan bahwa tidak cukup hanya memiliki file .pdb di folder bin dari proyek untuk .dll tertentu karena mungkin sudah ketinggalan zaman dan karenanya tidak diambil oleh Visual Studio sebagai file simbol yang valid untuk .dll Anda mencoba melangkah.
Perhatikan juga bahwa mengubah konfigurasi build dapat mengubah pengaturan info build dan dari mana simbol ditarik.
(Saya menyadari dalam hal ini saya dalam mode Rilis tetapi metode ini masih berlaku)
sumber
Properti Proyek Goto -> Bangun -> Tingkat Lanjut ...
Di bagian "Keluaran" pilih "penuh" di tarik turun Info Debug
sumber
Pastikan Anda menjalankan program Anda dalam mode DEBUG dan bukan mode RELEASE.
sumber
Debug -> Lampirkan ke proses ->
pilih Debug jenis kode ini: opsi ->
pilih Managed v3.5, v3.0, v2.0 atau Managed v4.5, v4.0
sumber
Saya baru saja menyelesaikan masalah ini menurut Deploying Silverlight Applications . (Jawaban ini merupakan duplikat dari beberapa orang lain, tetapi saya akan berusaha menjelaskannya lebih menyeluruh.)
Masalahnya kemungkinan besar bahwa aplikasi Silverlight Anda tidak digunakan dengan benar untuk aplikasi web Anda pada build / startup. Ini adalah masalah referensi - mudah dimengerti tetapi tidak jelas saat pertama kali Anda menemukannya.
Sama seperti referensi proyek lainnya, output proyek yang direferensikan harus disalin ke folder bin proyek referensi untuk debug. Untuk perpustakaan kelas ini terjadi ketika Anda mengklik kanan dan memilih 'Tambahkan Referensi ...'. Untuk Silverlight, Anda harus menambahkan referensi melalui Properti Proyek.
Ini menambahkan referensi ke aplikasi Silverlight dari aplikasi web hosting Anda, dan memastikan bahwa
xap
file tersebut akan disalin ke aplikasi web pada build atau deploy. Itu berarti bahwa aplikasi Silverlight saat ini dan file-file debug-nya ada di dalam aplikasi yang sedang di-debug, dan Anda akan dapat menelusuri kode.sumber
Jika Anda sedang men-debug proyek web, pastikan atribut debug = "true" telah ditetapkan dalam file web.config Anda:
sumber
Saya memiliki masalah yang sama pada Windows 7 dan mencoba segalanya : membersihkan DLL, memeriksa daftar modul, mematikan "Just My Code", dan sebagainya.
Masalahnya terpecahkan setelah saya menjalankan Visual Studio "sebagai administrator". Secara jujur. Mengapa Microsoft tidak bisa hanya memperingatkan saya bahwa itu tidak menjalankan "sebagai administrator"? Saya akan menghemat beberapa jam kerja.
sumber
Bagi saya masalahnya adalah saya mengaktifkan "kode Optimasi" di tab Build di pengaturan proyek saya.
sumber
Punya masalah yang sama
Untuk beberapa alasan, salah satu DLL terdaftar di GAC, oleh karena itu selalu memiliki versi yang berbeda dari kode.
Setelah saya menghapusnya dari GAC, masalah terpecahkan
sumber
Bagi mereka yang membaca yang menggunakan Visual Studio 2008, bukan Visual Studio 2010 dan mendapatkan kesalahan ini. Jawaban di atas tidak membantu saya dalam situasi ini, jadi saya membagikan pengalaman saya.
Jika Anda debug aplikasi Web IIS di Visual Studio 2008 dengan melampirkan ke proses w3wp.exe daripada menggunakan ASP.NET Development Server untuk debugging (mulai dengan debugging), ini mungkin masalah Anda:
Visual Studio mungkin masih mereferensikan file simbol (file yang digunakan selama debugging) dari dll Anda dari proses IIS yang kedaluwarsa. Dan file simbol itu telah dibuat ulang oleh .NET source code recompile tetapi proses IIS masih mereferensikan file simbol lama.
Memperbaiki:
Hentikan saja debugging di Visual Studio, restart aplikasi web, dan lampirkan kembali prosesnya. Maka breakpoints harus berubah dari kuning (ketika Anda melihat kesalahan ini) menjadi merah lagi.
========================
Lebih banyak hal untuk dicoba (ditemukan situasi baru hari ini):
Lakukan setiap peluru di tautan di bawah SATU SAAT, tetapi ulangi langkah saya di bawah ini dengan masing-masing yang Anda coba.
http://carnotaurus.philipcarney.com/post/4130422114/visual-studio-debugging-issue-with-files-of-the-same
1.) Hentikan debugging (tekan ikon kotak merah) di Visual Studio
2.) Bersihkan Solusi
3.) Bangun Solusi
4.) [INSERT BULLET INSTRUCTION HERE]
5.) Alat> Lampirkan ke Proses (atau mulai dengan debugging)
6.) Mulai program yang Anda lampirkan, dan jalankan sedemikian rupa sehingga kode Anda akan terkena
6 menjelaskan:
Jika melampirkan ke nunit.exe, maka buka NUnit dan jalankan tes sehingga breakpoint Anda akan terkena
Jika melampirkan ke w3wp.exe (situs IIS), kemudian buka situs Anda di browser dan pergi ke halaman yang akan mengenai breakpoint Anda
EDIT:
Hari ini saya perhatikan bahwa jika Anda mencoba men-debug pada proyek yang tidak ditetapkan sebagai proyek start-up, itu akan menunjukkan ini. Saat Anda melampirkan ke proses w3wp.exe Anda, itu dianggap debugging pada proyek yang ditetapkan sebagai proyek start-up. Untuk mengatasinya, klik kanan proyek aplikasi web, dan pilih "Set As Start Up Project". Kemudian coba pasang kembali ke proses Anda.
sumber
Skenarionya adalah ini: proyek tertentu adalah proyek awal Anda (mis. Memiliki metode Utama). Proyek itu merujuk proyek lain dalam solusi Anda. Breakpoints di proyek-proyek lain tidak tertabrak.
Solusi cepat: ketika Anda membangun solusi Anda, lihat di jalur output Build (biasanya bin \ Debug) untuk memulai proyek. Lihatlah file DLL dan PDB untuk proyek yang Anda referensikan. Pastikan tanggal modifikasi terakhir mereka adalah tanggal terakhir Anda membangun solusi Anda. Jika tidak, salinlah dari jalur output Bangun untuk setiap proyek ke proyek awal Anda. Bangun jalur output. Sebagai contoh:
Proyek A memiliki Utama. Ini referensi Proyek B. Breakpoints Anda tidak terkena di Proyek B. Salin file DLL dan PDB dari jalur output Build B Proyek ke jalur output Build Project A. Kemudian jalankan solusi Anda. Break point sekarang akan dipukul.
Sekarang Anda perlu mencari tahu mengapa Proyek A tidak menyalin file DLL dan PDB Proyek B. Jawaban di sini mencakup sebagian besar skenario. Satu skenario yang tidak tersentuh adalah memastikan proyek dan solusi Anda terikat dengan TFS dengan benar. Saya memiliki beberapa proyek yang diikat dan beberapa tidak diikat dengan benar. Itu yang menyebabkan masalah bagi saya. Setelah saya memperbaikinya, masalahnya hilang dan saya tidak lagi harus menyalin file DLL dan PDB.
sumber
Solusi untuk masalah yang sama dalam kasus saya adalah kombinasi langkah-langkah berikut:
sumber
Untuk memperbaiki masalah ini di Web.config saya baru saja menambahkan
debug="true"
Apa yang membantu saya menemukan solusi ini telah melihat Modul windows saat debugging dan melihat bahwa untuk DLL ASP.NET saya dimuat saya punya: Binary tidak dibangun dengan informasi debug.
sumber
Saya memiliki masalah yang sama tetapi dalam VS2013 untuk Aplikasi Web. Bagi saya, jawabannya adalah memperbarui Build Configuration untuk solusinya: -
Setelah saya melakukan ini, semua breakpoints saya mulai bekerja.
sumber
Oke - ini dia:
(Dalam "aplikasi silverlight": harap periksa terlebih dahulu apakah silverlight diperiksa di "web" di "server" proyek server Anda - Jika itu tidak menyelesaikannya, coba ini di bawah)
Pada kali pertama lakukan: jalankan ini terlebih dahulu: devenv.exe / ResetSettings dan 1: Di menu atas klik pada tag debug 2: klik opsi dan pengaturan 3: Dalam "debugging" dan di bawah "umum" temukan "aktifkan .net framework source stepping" 4: Centang kotak. 5: Dan sekarang semua simbol akan diunduh dan dikonfigurasi ulang :)
Jika itu terjadi lagi setelah di atas cukup kosongkan folder di mana simbol berada:
1: Di menu atas klik pada tag debug 2: klik opsi dan pengaturan 3: Dalam "debugging" dan di bawah "simbol" menemukan tombol "cache simbol kosong" dan klik.
sumber
Buka url Aplikasi Web dari Browser dan kemudian di VS.Net IDE gunakan Tools -> AttachtoProcess
lalu lampirkan ke aspnet_wp.exe.
Debugger akan mulai berfungsi
sumber
Saya harus menghapus semua contoh .dll dari registri secara manual, dan semua contoh .dll dari drive lokal saya. Copot pemasangan / instal ulang aplikasi saya dan sekarang sedang mengenai breakpoints! Buang setengah hari melakukan ini :(.
sumber
Saya mencoba mengubah nama
.pdb
file diobj\debug
folder dan melakukan solusi bersih dan membangun kembali.Itu menciptakan
.pdb
file baru dan saya dapat mencapai breakpoints dengan benar.sumber
Saya memiliki masalah yang sama - kehilangan banyak waktu untuk mencoba debugging bekerja di Visual Studio.
Itu akhirnya menjadi Nuget - Saya punya 3 versi Newtonsoft.Json (di 7 proyek C #). Solusi akan dikompilasi tetapi tidak dapat di-debuggable.
Saya memperbaiki masalah ini dengan menjalankan yang berikut ini di Package Manager Console Nuget:
PM> Perbarui-Paket Newtonsoft.Json
sumber
Untuk aplikasi WPF saya, saya menghapus folder aplikasi, melakukan "Dapatkan Terbaru" dari kontrol sumber lagi, dan dibangun kembali. Semua breakpoints bekerja dengan baik sekarang.
sumber
Cobalah untuk mengatur Proyek Aplikasi Silverlight sebagai proyek startup: klik kanan pada proyek -> 'Set As Startup project. Kemudian tekan F5 dan lihat apakah Anda dapat menangkap breakpoints ...
Cobalah untuk menghapus data penelusuran / tempel di browser Anda setiap kali Anda membuat perubahan pada aplikasi silverlight
sumber
Anekdot lain yang mungkin berguna-
Saya mengalami masalah ini ketika salah satu proyek saya menggunakan referensi file dari folder Keluaran rilis. Ketika hasil build ditempatkan di folder Barang, dll Rilis ini menimpa dll Debug.
Solusinya adalah memastikan file csproj, HintPath referensi saya
<HintPath>..\..\Core\Goods\$(Configuration)\MyFramework.dll</HintPath>
dan tidak
<HintPath>..\..\Core\Goods\Release\MyFramework.dll</HintPath>
sumber
Saya memiliki masalah ini ketika di klien di mana - untuk setiap solusi aplikasi - mereka menyalin rakitan yang paling banyak dibagikan ke folder " Referensi ", kemudian menambahkannya ke solusi baik sebagai " Solusi item " dan sebagai " Proyek " dalam solusi.
Belum yakin mengapa, tetapi beberapa di antaranya masih dapat di-debuggable, beberapa tidak, meskipun dalam pengaturan Referensi untuk majelis, jalur lengkap yang benar telah ditentukan.
Perilaku yang tidak terduga ini membuatku gila :)
Saya memecahkan ini dengan menghapus semua majelis dari folder " Referensi " yang ada proyek dengan kode sumber, dan menyimpan informasi versi versi yang sangat baik untuk majelis bersama.
sumber
Saya memiliki masalah serupa kecuali masalah saya konyol - Saya memiliki 2 contoh server web built-in yang berjalan di bawah 2 port yang berbeda DAN saya memiliki proyek saya -> properties -> web -> "Mulai URL" yang menunjuk ke port tetap tetapi aplikasi web tidak benar-benar berjalan di bawah port itu. Jadi browser saya dialihkan ke "Mulai URL" yang merujuk ke 1539 tetapi kode / debug contoh berjalan di bawah port 50803.
Saya mengubah server web bawaan untuk berjalan di bawah port tetap dan menyesuaikan "Mulai URL" untuk menggunakan port itu juga. project -> properties -> web -> "Servers" section -> "Use Visual Studio Development Server" -> port spesifik
sumber