Ini membuatku gila.
Saya memiliki proyek yang agak besar yang saya coba modifikasi. Saya perhatikan sebelumnya bahwa ketika saya mengetik DbCommand
, studio visual tidak melakukan penyorotan sintaks di atasnya, dan saya menggunakan menggunakan System.Data.Common
.
Meskipun tidak ada yang disorot, proyek tersebut tampaknya berjalan dengan baik di browser saya. Jadi saya memutuskan untuk menjalankan debugger untuk melihat apakah semuanya benar-benar berfungsi sebagaimana mestinya.
Setiap kali kelas yang tidak melakukan penyorotan dipanggil, saya mendapatkan "the source file is different from when the module was built"
pesannya.
Saya membersihkan solusi dan membangunnya kembali beberapa kali, menghapus file tmp, mengikuti semua petunjuk di sini. Mendapatkan "File sumber berbeda dari saat modul dibuat." , memulai ulang server web dan tetap memberi tahu saya bahwa file sumber berbeda padahal sebenarnya tidak.
Saya tidak dapat menguji kode apa pun yang saya tulis hari ini karena ini.
- Bagaimana sumber bisa berbeda dari biner ketika saya hanya mematuhinya?
- Apakah ada cara untuk membuat studio visual masuk akal, atau saya hanya melewatkan sesuatu?
sumber
Jawaban:
Saya mendapat masalah ini menjalankan aplikasi konsol di mana sumber yang berbeda adalah sumber yang memiliki titik masuk (Main void statis). Menghapus direktori bin dan obj dan melakukan pembangunan kembali lengkap sepertinya memperbaiki hal ini, tetapi setiap kali saya membuat perubahan kode, itu akan menjadi ketinggalan zaman lagi.
Alasan saya menemukan ini adalah:
(Untuk # 2 -> dapat diakses melalui toolbar di bawah daftar drop-down 'Debug / Rilis'.)
sumber
solution platforms
dariAny CPU
menjadiMixed Platform
karena kesalahan !!! Saya mengubahnya kembaliAny CPU
dan berfungsi lagi.Saya baru saja mengalami masalah yang sama ini, semua proyek saya berada dalam solusi yang sama sehingga mereka menggunakan referensi Proyek ke Proyek, jadi ketika satu diubah, yang lain seharusnya telah diperbarui. Namun bukan itu masalahnya, saya mencoba membangun, membangun kembali, menutup VS2010, menarik salinan baru dari kendali sumber kami. Semua ini tidak berhasil, yang akhirnya saya coba adalah mengklik kanan pada proyek dan membangun kembali setiap proyek satu per satu. Itu memperbarui file .dlls dan .pdb sehingga saya bisa men-debug.
Masalahnya di sini adalah bahwa file dll dan atau pdb Anda tidak sinkron.
sumber
Ikuti langkah ini
sumber
Selain jawaban ini, saya memiliki masalah yang sama saat mengganti DLL baru dengan yang lama karena jalur yang salah. Jika Anda masih mendapatkan kesalahan ini, Anda mungkin tidak merujuk ke jalur yang salah untuk DLL. Buka manajer IIS dan klik situs web yang menggunakan DLL Anda. Di jendela kanan klik Pengaturan Lanjut dan masuk ke jalur folder Jalur Fisik di File Explorer dan pastikan bahwa Anda menggunakan folder ini untuk mengganti DLL Anda.
sumber
Beberapa hal untuk Anda periksa:
Sudahkah Anda memeriksa ulang referensi proyek Anda?
Apakah Anda memiliki server web mulai Visual Studio masih berjalan? Periksa baki sistem dan cari halaman dengan ikon roda gigi (Anda mungkin memiliki lebih dari satu):
(sumber: msdn.com )
Klik kanan dan tutup / keluar. Anda mungkin memiliki lebih dari satu. Bisakah Anda men-debug perubahan Anda sekarang?
Apakah Anda menjalankan versi debug tetapi hanya membuat versi rilis (atau sebaliknya)?Apakah kompilasi benar-benar berhasil? Saya tahu saya telah mengklik "ada kesalahan, apakah Anda tetap ingin melanjutkan?" pesan beberapa kali tanpa disadari.sumber
Dengan layanan web, masalah dapat disebabkan oleh penggunaan perintah Visual Studio "View in Browser". Ini menempatkan file DLL dan PDB layanan di folder bin dan obj. Saat masuk ke layanan web dari klien, entah bagaimana Visual Studio menggunakan PDB di folder bin (atau obj), tetapi menggunakan DLL di folder build keluaran proyek. Ada beberapa solusi:
Jika Anda sebelumnya mendapatkan kesalahan ketidakcocokan file sumber, Visual Studio mungkin telah menambahkan nama file ke daftar hitam. Periksa properti solusi Anda. Pilih "Common Properties -> Debug Source Files" di sisi kiri kotak dialog. Jika file sumber layanan web Anda muncul di bidang "Jangan cari file sumber ini", hapuslah.
sumber
Saya baru saja mengalami masalah ini.
Saya mencoba semua hal di atas, tetapi hanya ini yang berhasil:
bangun solusinya.
Ini memperbaiki masalah untuk semua build yang bergerak maju untuk saya.
sumber
Ini adalah bagaimana saya memperbaiki masalah di Visual Studio 2010:
1) Ubah opsi 'Konfigurasi Solusi' dari "Debug" menjadi "Rilis"
2) Mulai debugging
3) Hentikan debugging dan alihkan opsi 'Konfigurasi Solusi' kembali ke "Debug"
Ini berhasil untuk saya. Langkah 3 adalah opsional - ini berfungsi dengan baik ketika saya mengubahnya menjadi "Lepaskan" tetapi saya ingin mengubahnya kembali.
sumber
Solusi saya:
Saya telah memasukkan proyek yang ada dari solusi berbeda dalam file solusi baru.
Saya tidak memperhatikan bahwa ketika proyek yang ada dibangun kembali, itu meletakkan hasil akhir ke dalam direktori keluaran solusi BARU. Saya memiliki jalur linker yang ditentukan untuk melihat ke direktori output solusi LAMA.
Mengalihkan proyek saya untuk mencari di direktori keluaran solusi baru memperbaiki masalah ini untuk saya.
sumber
Saya mengalami masalah ini, dan ternyata saya menjalankan aplikasi konsol saya sebagai aplikasi windows. Mengalihkan jenis keluaran kembali ke konsol memperbaiki masalah.
sumber
Saya memiliki masalah yang sama. Untuk memperbaikinya saya menggunakan "Mode Rilis" untuk debug di VS2013. Yang cukup bagi saya, karena saya bekerja di node js \ c ++ addon.
sumber
Bongkar proyek yang memiliki file yang menyebabkan kesalahan.
Muat ulang proyek.
Tetap
sumber
Di Visual Studio 2017 menghapus folder .vs tersembunyi di memecahkan masalah ini untuk saya.
sumber
Masalah saya adalah saya memiliki dua proyek dalam solusi saya. Yang kedua adalah proyek uji yang digunakan untuk memanggil yang pertama. Saya telah memilih jalur ke referensi dari folder rilis folder bin.
Jadi, setiap kali saya membuat perubahan pada kode proyek pertama dan membuatnya kembali, itu akan memperbarui dll di folder debug tetapi proyek pemanggil menunjuk ke folder rilis, memberi saya kesalahan, "file sumber berbeda dari ketika modul dibangun."
Setelah saya menghapus referensi ke dll proyek utama di folder rilis dan mengaturnya ke dll di folder debug, masalahnya hilang.
sumber
solusi: - masalahnya adalah: - jika beberapa proyek Anda dalam solusi, lihat beberapa proyek lain, maka kadang-kadang dll dari beberapa proyek, tidak akan diperbarui secara otomatis, setiap kali Anda membangun solusi, beberapa proyek akan memiliki dll membangun sebelumnya, bukan dll terbaru
Anda harus pergi secara manual dan menyalin dll dari proyek pembangunan terbaru ke dalam proyek referensi
sumber
Saya menggunakan Visual Studio 2013 dan saya memiliki proyek yang sudah ada di bawah kendali sumber.
Saya telah mengunduh salinan baru dari kendali sumber ke direktori baru.
Setelah melakukan perubahan pada salinan baru, saat membangun saya menerima kesalahan yang dimaksud.
Solusi saya:
1) Buka
Documents\IISExpress\config\applicationhost.config
2) Perbarui
virtualDirectory
node dengan direktori ke salinan baru dan simpan.sumber
Masalah saya adalah bahwa saya memiliki layanan web dalam proyek tersebut dan saya mengubah jalur pembuatan.
Memulihkan jalur build default memecahkan masalah saya.
sumber
Saya memiliki masalah yang sama dan saya mengikuti sebagian besar panduan dalam jawaban lain yang diposting di sini, sepertinya tidak ada yang berhasil untuk saya.
Saya akhirnya membuka IIS dan mendaur ulang kumpulan aplikasi untuk aplikasi web saya. Saya memiliki IIS versi 8.5.9600, saya mengklik kanan aplikasi web saya, lalu: Deploy> Recycle> Recycle application pool> OK.
Tampaknya telah memperbaikinya, breakpoint sekarang tercapai seperti yang diharapkan. Saya pikir melakukan ini bersama dengan menghapus folder bin dan obj membantu situasi saya.
Semoga berhasil!
sumber
Saya tahu ini adalah pertanyaan lama tetapi saya baru saja mengalami masalah yang sama dan ingin memposting di sini seandainya itu membantu orang lain. Saya mendapatkan komputer baru dan bagian TI menggabungkan komputer lama saya dengan yang baru. Ketika saya mengatur TFS, saya memetakan jalur lokal yang berbeda dari yang saya gunakan sebelumnya, ke drive internal tambahan. Jalur lama masih ada dari data yang digabungkan di hard drive saya sehingga saya masih bisa membangun dan menjalankan. Jalur IIS saya juga mengarah ke direktori lama. Setelah saya memperbarui IIS ke jalur yang benar, saya dapat melakukan debug dengan baik. Saya juga menghapus direktori lama untuk kebaikan.
sumber
Saya juga mengalaminya. Saya hanya membuka folder obj pada proyek dan kemudian membuka folder debug, hapus file .pdb dan itu saja.
sumber
Kesalahan ini juga terjadi jika Anda mencoba membuat perubahan pada file sumber yang bukan bagian dari proyek.
Saya sedang men-debug metode dari .dll dari salah satu proyek saya yang lain, di mana Visual Studio telah cukup membantu memuat sumber karena .dll telah dibangun pada mesin yang sama dan mengetahui jalur ke sumber. Jelas, mengubah file seperti itu tidak akan melakukan apa pun kecuali Anda membangun kembali proyek yang direferensikan.
sumber
sumber
Di Visual Studio 2015, menggunakan C ++, apa yang memperbaiki
the source file is different from when the module was built
masalahnya adalahsumber
Debug-> mulai tanpa debugging.
Opsi ini berhasil untuk saya. Semoga ini membantu!
sumber
Periksa apakah lokasi yang Anda tunjuk menggunakan mex () di Matlab sudah benar (berisi file lib dan obj yang dimodifikasi hingga tanggal terakhir Anda menyusun perpustakaan di Visual studio).
Jika tidak demikian:
Pastikan Anda sedang mengompilasi Visual studio dalam mode yang menyimpan file .lib:
properti -> Properti konfigurasi -> Umum -> Jenis konfigurasi -> perpustakaan statis
properties -> Config properties -> General -> Target extension = .lib (bukan exe)
Pastikan direktori keluaran dan perantara cocok dengan direktori Matlab di
sumber
Dalam kasus saya, jawaban @ Eliott tidak berfungsi. Untuk mengatasi masalah ini saya telah Mengecualikan / Menyertakan Dari Proyek file saya yang kurang, dan juga Membersihkan dan Membangun kembali solusinya.
Setelah tindakan ini, file saya dengan modifikasi terakhir saya dan debugger dipulihkan.
Saya berharap bantuan ini.
sumber
Saya mendapatkan masalah ini saat debugging kadang-kadang w / Visual Studio tetapi ketika aplikasi dilayani oleh IIS . (kami harus mengembangkan dalam formulir ini karena beberapa alasan rumit yang berkaitan dengan cara pengembang asli menyiapkan proyek ini.)
Ketika saya mengubah file dan membangun kembali , itu sering kali memperbaikinya. Saya tahu kedengarannya konyol, tetapi saya hanya mencoba men-debug beberapa kode untuk mengetahui mengapa kode melakukan sesuatu yang aneh padahal saya tidak mengubahnya untuk beberapa lama, dan saya mencoba lusinan hal dari halaman ini, tetapi diperbaiki hanya dengan mengubahnya berkas..
sumber