VS 2015 Update 1 - Mengklaim saya men-debug build rilis

97

Setelah memperbarui ke VS 2015 pembaruan 1, jika saya menjalankan proyek web (MVC), hentikan aplikasi, lalu coba jalankan lagi, VS berhenti dan munculkan dialog mengklaim

Anda sedang men-debug build Rilis <myproject.dll>.

Menggunakan Just My Code dengan rilis build menggunakan hasil pengoptimalan compiler dalam pengalaman debugging yang menurun (misalnya, breakpoint tidak akan terkena).

Masalahnya adalah saya tidak menjalankan build rilis. Saya jelas menjalankan debug build (sama) yang baru saja saya jalankan! Mengapa VS mengira saya menjalankan build rilis?

Membersihkan solusi dan menjalankan kembali akan menghapus pesan kesalahan, jadi ada sesuatu yang disemprotkan di suatu tempat.

John T
sumber
1
Akan sangat senang mendengar jika Anda telah memperbaikinya. Saya mengalami masalah yang sama persis setelah menginstal Pembaruan 1. Membersihkan / menjalankan kembali untuk sementara membuat saya dapat mengatasi, tetapi kemudian itu terjadi lagi di lain waktu.
Jerad Rose
1
Sayangnya, saya belum. Saya sedang berkomunikasi dengan dukungan Microsoft yang sedang menyelidiki masalah tersebut.
John T
2
Untuk apa nilainya, dukungan Microsoft telah mereproduksi masalah dan sedang menyelidiki. Begitu saya dengar, saya akan lapor balik / jawab.
John T
@JohnT Ada keberuntungan belum?
Nick
@Nick Sebenarnya, tidak. Saya akan melakukan ping ke kontak saya kembali untuk melihat apakah ada pembaruan.
John T

Jawaban:

58

Kata dari Microsoft adalah bahwa ini adalah masalah yang diketahui (awalnya masuk ke tim Debugger, tetapi ditentukan bahwa itu adalah masalah build, dan sekarang ada di tangan tim sistem Project. Ada bug lain yang terbuka tentang masalah ini, dan itu diberi peringkat Prioritas 1, jadi harus berada di jalur yang tepat untuk pembaruan berikutnya Meskipun seperti yang diharapkan, tidak ada janji yang dapat dibuat tentang kapan itu akan dirilis (atau apa yang sebenarnya ada dalam pembaruan).

Begitu. Itu sudah diketahui dan sedang dikerjakan. Setidaknya mematikan "Enable Just My Code" di Opsi Umum Debugging tampaknya menjadi solusi untuk saat ini.

John T
sumber
13
Masih mendapatkan ini di VS2017, tetapi hanya untuk satu DLL. Perubahan apapun?
JMK
1
Apakah ada URL seperti di UserVoice yang melacak masalah ini?
UuDdLrLrSs
Menggunakan solusi yang sama untuk VS 2017. Aneh ini belum diperbaiki dengan benar. Pokoknya terima kasih untuk pekerjaannya.
Naveen Kumar V
5
Masih mendapatkan ini di VS2019.
philu
46

Seperti yang disebutkan oleh @romanoza, Microsoft memperbarui laporan bug Microsoft Connect (sekarang hilang), (sebelumnya ada di sini , jika Anda dapat menemukan arsip di suatu tempat) dengan informasi berikut:

Hapus centang pada pengaturan Debug -> Options -> Suppress JIT optimization on module load (Managed only)

Ini solusinya. Mereka melanjutkan dengan mengatakan nanti:

Kami menyarankan orang-orang membiarkannya tidak dicentang karena jika tidak dicentang akan meningkatkan kinerja dan perilaku hanya kode saya dalam skenario tertentu.

Terakhir, pengakuan:

Ini adalah bug yang tidak berfungsi dengan pengaturan itu diaktifkan dan kami sedang mengerjakan perbaikan untuk situasi itu jika beberapa pelanggan masih ingin men-debug dengan pengaturan itu diaktifkan.

Pembaruan : Berdasarkan komentar, tampaknya kotak sekarang tidak dicentang secara default untuk beberapa pengembang, dan memeriksa itu dapat memperbaiki masalah yang sama persis dalam beberapa kasus. Sangat aneh.

Nate Cook
sumber
39
Dalam situasi saya, saya sebenarnya harus melakukan yang sebaliknya. Saya harus mencentang kotak untuk pengaturan yang disebutkan di atas. Ini semua sangat aneh.
dyslexicanaboko
2
Sama seperti dyslexicanaboko - Saya telah mencentang kotak centang untuk menghapus pesan.
Jay Cummins
5
Masalah yang sama pada Visual Studio 2017 Rilis April, harus mencentang kotak centang
Rafael
1
Saya memberi suara positif bukan karena jawabannya berhasil, tetapi karena komentar pertama pada jawaban itulah yang berhasil! Dan itu layak mendapat perhatian. (Perhatikan juga bahwa tautan eksternal sudah mati. Ini membawa Anda ke halaman "Microsoft Connect Has Been Retired".)
Disillusioned
Terima kasih atas komentar Craig. Saya membuat sedikit pengeditan berdasarkan masukan Anda. Semoga itu akan membantu orang lain maju!
Nate Cook
25

Saya perhatikan jawabannya di sini tidak lengkap, saya mengalami masalah yang sama dan masalah itu diselesaikan dengan membuka properti proyek dan di bawah tab build dan konfigurasi debug menghapus centang "optimalkan kode" . Anda juga harus memeriksa manajer konfigurasi seperti yang disebutkan di atas untuk memastikannya juga baik. Jawabannya datang dari posting ini dan mereka harus mendapatkan kredit: Proyek VS2015 tidak lagi berjalan dalam mode debug

Terima kasih,

cesar-moya
sumber
2
Setelah begitu banyak usaha, saya menemukan bahwa inilah akar masalahnya. Anehnya mengaktifkan kode Optimize Visual studio mengira mode Rilis dan bahkan breakpoint tidak berfungsi. Segala sesuatu tentang debugging berantakan.
Morse
1
Anda menyelamatkan hidup saya. Anda adalah dewa.
SamyCode
12

Saya memecahkan masalah pengaturan konfigurasi ke Debug di jendela Pengelola Konfigurasi seperti yang disarankan dalam jawaban ini .

masukkan deskripsi gambar di sini

fabriciorissetto.dll
sumber
Itu bukan default (seseorang harus benar-benar mengacaukan konfigurasi Anda agar itu terjadi!), Dan kebanyakan dari kita telah memeriksanya. (Itu adalah hal pertama yang saya periksa.) - Seperti yang dikatakan OP, dia pasti membangun dalam mode debug, dan saya tahu bahwa saya juga melakukan pembuatan debug yang sebenarnya - dibangun dalam mode debug, dengan pengoptimalan dinonaktifkan, debug dinyatakan, pdb yang valid dibuat, dll.
BrainSlugs83
1
Bagus bahwa Anda meletakkannya di sini Fabricio, saya yakin ada banyak orang yang melewatkannya juga.
Molibar
11

Membersihkan (dan membangun kembali) solusi bekerja untuk saya sebagai solusi sementara. Anda juga dapat memilih Debug> Opsi dan batal memilih Suppress JIT optimizationkotak centang.

romanoza
sumber
VS 2017 ver 15.1 memberi saya kesalahan palsu ("debugging a release build"). Clean and Rebuild membuatnya hilang.
DeveloperDan
Visual Studio 2015 Update 3, saya mendapatkan kesalahan ini saat Suppress JIT tidak dicentang. Memilihnya menyelesaikan masalah.
Saravanan Sachi
6

Saya mengalami masalah yang sama sejak memperbarui ke VS2015 Update 1.

Menemukan laporan serupa di Forum Visual Studio Microsoft yang menunjuk ke laporan bug yang telah diangkat bersama mereka di sini

Ada berbagai solusi tetapi saya pikir masalah yang mendasarinya adalah bahwa IIS Express tidak dimatikan saat debugging diakhiri - dan itu bukan karena opsi edit dan lanjutkan tidak dicentang. Solusi tercepat yang dapat saya temukan hingga bug diperbaiki:

  • Klik kanan pada ikon IIS Express di baki dan keluar setelah debugging (Penghargaan untuk David Totzke yang menyediakan solusi untuk laporan bug)

Tidak bagus, tapi saya rasa solusi yang tepat belum tersedia saat ini.

Jon
sumber
2
Solusi saat ini yang saya gunakan adalah Cleaning Solution, diikuti dengan Start Debugging.
Jerad Rose
1
Secara kebetulan, terkadang saya harus benar-benar membunuh iisexpress; berhenti dari menu konteks tidak membuatnya mati
Mark Sowul
3

Saya mengalami masalah yang sama. Saya menyelesaikan masalah dengan secara manual menghapus semua file dari folder 'bin' dan kemudian membangun kembali solusinya. Saya tidak mengerti dialog ini lagi.

Bps
sumber
2
Sudah mencobanya, tidak membantu. Dapatkan masalah yang sama pada proyek baru.
John T
Saya akan memposting jawaban ini juga :) Ini melakukan trik untuk saya (VS2015 Update 3).
Caio Campos
3

Dalam kasus saya, saya telah mengubah "Platform solusi aktif" untuk seluruh solusi di "Pengelola Konfigurasi" dari x86 ke Semua CPU, memperbaiki masalah

Mak R
sumber
Bekerja untuk saya juga.
Rahatur
1

Periksa Properti Konfigurasi solusi Anda. Saya mengalami masalah yang sama dan menemukan bahwa konfigurasi debug saya sebenarnya membangun beberapa proyek dengan konfigurasi rilis.

pengguna5632285
sumber
4
Maaf, tidak, seperti yang saya katakan tidak ada yang disetel ke Rilis - semua konfigurasinya adalah Debug. Berjalan setelah pembersihan TIDAK menunjukkan kesalahan. Menghentikan dan menjalankan kembali dengan segera menunjukkan kesalahan - TIDAK ADA yang berubah di antaranya, termasuk proyek BAHKAN MEMBANGUN ULANG.
John T
1

Saya perhatikan bahwa Visual Studio tidak mematikan proses iisexpress setelah saya menghentikan debugger. Membunuh secara manual proses tersebut tampaknya dapat membantu saya.

Ini tampaknya sekarang telah diperbaiki di Pembaruan 2.

Alex
sumber
1

Tampaknya ada banyak solusi karena ada orang yang mengalami masalah, tetapi dalam kasus saya, saya harus menghapus dan menambahkan kembali referensi proyek. Referensi proyek berada dalam proyek uji unit dalam solusi yang sama.

Crowcoder
sumber
1

Dalam kasus saya, pesan kesalahan itu benar. Saya menjalankan aplikasi yang memuat versi rilis. Jadi saya memperbaikinya dengan meminta aplikasi memuat versi debug sebagai gantinya.

Dasar, aku tahu, dan aku sadar aku membuat diriku terlihat seperti orang idiot. Tapi terkadang masalahnya persis seperti apa yang dilaporkan.

Randy Richardson
sumber
0

Periksa apakah URL Proyek IIS benar-benar mengarah ke tempat yang menurut Anda tepat. Jika ragu, klik tombol 'Buat Direktori Virtual'.

Saya mengalami masalah ini baru-baru ini ketika saya menjalankan versi sementara dari basis kode produksi dan telah menunjuk kembali folder di IIS ke versi sementara, yang, memang, menjalankan build produksi, bukan versi debug yang saya coba debug.

Andy Twiss
sumber
0

Bagi saya, saya menemukan 3 \ Release \ folder refs di file FileListAbsolute.txt ini:

C: \ Projects \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.csproj.FileListAbsolute.txt

Mereka seperti ini:

C: \ Projects \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.csprojResolveAssemblyReference.cache

C: \ Projects \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.dll

C: \ Projects \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.pdb

Dan hanya menghapus 3 baris di luar VS kemudian membuka kembali solusi menyelesaikan masalah. Semoga membantu.

Ian_G
sumber
0

Saya telah mencoba semua jawaban, dan yang berhasil untuk saya adalah menghapus beberapa paket NuGet, bukan hanya referensi, tetapi juga menghapus paketnya, dalam kasus saya PostSharp. Pada awalnya saya mencoba menghapus referensi dari semua proyek, dan tidak berhasil, lalu saya baru saja menghapus paket dari pengelola. Saya tidak tahu persis apa alasannya, tapi itulah yang memecahkan masalah saya, semoga bisa membantu seseorang di luar sana.

JohnZ
sumber
0

Mulai ulang Visual Studio. Ini memperbaiki masalah saya di 2017 Professional.

TomDane
sumber
0

Inilah yang berhasil untuk saya.

Jika sebuah proyek web, Pergi ke properti proyek dari proyek web dan

  1. Jika IIS Lokal dipilih, mulai ulang server IIS Anda.
  2. Jika IIS Express dipilih, keluar dari IIS express dari ikon task tray.

Tampaknya beberapa dll telah di-cache sehingga langkah-langkah di atas akan membuat cache tidak valid.

CodingYoshi
sumber
0

Ini terjadi di Visual Studio 2019 di aplikasi UWP. Hapus centang Optimize Code di pengaturan csproj / build menyelesaikannya.

Sean Anderson
sumber
-1

Cukup yakin ini telah diperbaiki dalam Visual Studio 2015 Update 2.

Saya biasa melihat ini sepanjang waktu (beberapa kali per hari), dan belum pernah melihatnya sekali pun sejak memperbarui ke Pembaruan 2.

Jerad Rose
sumber
4
Jelas belum. Saya mendapatkan semuanya secara tiba-tiba di VS 2015 Pembaruan 3.
jpmc26
1
Saya tidak mengatakan mereka tidak
merusaknya
Saya telah memperbarui 2 pada dev. kotak sekarang, dan saya masih melihatnya. - Saya tidak melihatnya di kotak pembaruan 3 saya. : - /
BrainSlugs83