Saya punya masalah seperti ini di server
[A] System.Web.WebPages.Razor.Configuration.HostSection tidak dapat dilemparkan ke [B] System.Web.WebPages.Razor.Configuration.HostSection. Tipe A berasal dari 'System.Web.WebPages.Razor, Versi = 2.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' dalam konteks 'Default' di lokasi 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. Tipe B berasal dari 'System.Web.WebPages.Razor, Versi = 1.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' dalam konteks 'Default' di lokasi 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '.
Deskripsi: Terjadi pengecualian yang tidak tertangani selama eksekusi permintaan web saat ini. Harap tinjau pelacakan tumpukan untuk informasi lebih lanjut tentang kesalahan dan dari mana asalnya dalam kode.
Detail Pengecualian: System.InvalidCastException: [A] System.Web.WebPages.Razor.Configuration.HostSection tidak dapat dilemparkan ke [B] System.Web.WebPages.Razor.Configuration.HostSection. Tipe A berasal dari 'System.Web.WebPages.Razor, Versi = 2.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' dalam konteks 'Default' di lokasi 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_2.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '. Tipe B berasal dari 'System.Web.WebPages.Razor, Versi = 1.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' dalam konteks 'Default' di lokasi 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System .Web.WebPages.Razor \ v4.0_1.0.0.0__31bf3856ad364e35 \ System.Web.WebPages.Razor.dll '.
Kesalahan Sumber:
Saya telah menginstal MVC 3 di serer dan di komputer saya. Saya telah mencoba menggantinya dengan basis kode berusia 15 hari tetapi masalah yang sama ada.
sekarang saya ingin menyelesaikannya. Apakah seseorang tahu bagaimana saya bisa memperbaikinya.
sumber
Jawaban:
Di root Web.config pastikan assemblyBinding berisi versi yang tepat untuk assembly "System.Web.WebPages.Razor" dan "System.Web.Mvc". Periksa keberadaan mereka yang sebenarnya serta tag rakitan "System.Web.WebPages.Razor" saya hilang yang menyebabkan kesalahan. Saya menetapkan versi assembly saya masing-masing ke 3.0 dan 5.0 pada saat penulisan ini dengan pembaruan NuGet lengkap. Kode akan terlihat seperti di bawah ini. PublicKeyToken akan tetap sama di antara versinya. Bersulang!
sumber
Kasus saya ditingkatkan dari mvc4 ke mvc5.
Saya memastikan referensi saya sinkron (dengan aplikasi mvc5 yang baru dibuat), memperbarui file web.config sesuai dan masih tidak berfungsi. Akhirnya berhasil ketika saya mengubah file web.config saya ( INSIDE THE VIEWS directory ) dari:
Untuk ini:
INGAT: stop iis (ekspres atau asli), solusi bersih, bangun dan Jalankan.
sumber
Untuk berjaga-jaga jika jawaban ian tidak cukup (dan rakitannya benar, tetapi castingnya masih salah) kemungkinan Anda belum memperbarui
<configSections>
untuk mencerminkan rakitan baru. pastikan bagian assembly juga mereferensikanSystem.Web.WebPages.Razor
library versi 3.0 . misalnya(Perhatikan bahwa mereka semua merujuk
version=3.0.0
sekarang)sumber
Solusi Ian berhasil dalam satu proyek, tetapi untuk yang lain saya memerlukan info yang lebih lengkap di Cara Upgrade ke MVC 5 dan Web API 2
sumber
Masalah ini sangat umum ketika Anda mengembangkan untuk MVC 4 dan kemudian secara tiba-tiba Anda menginstal paket yang tersedia di versi yang lebih baru sehingga merusak seluruh aplikasi.
Satu-satunya solusi untuk masalah tersebut adalah meningkatkan seluruh aplikasi Anda ke yang lebih baru atau menginstal paket lama yang kompatibel dengan aplikasi Anda
sumber
Masalah:
Identifikasi:
Kesalahannya ada pada file konfigurasi yaitu web.config dari proyek Anda.
Di sini Anda akan menemukan bahwa versi Razor disetel ke 2.0.0.0 sedangkan dalam proyek Anda versi 2.0.0.0 tidak tersedia.
Larutan:
Sederhana, cukup ubah versinya dari 2.0.0.0 menjadi 3.0.0.0 dan itu akan melakukan keajaiban.
Anda tidak perlu menempatkan pengalihan atau karena itu akan membuat segalanya menjadi rumit.
sumber
Saya menemukan masalah dan solusi.
1 Saya menargetkan kode saya ke 4.0 dan kemudian mengunggah kode dan berhasil. Sebelumnya saya juga memperbarui kode saya ke asp.net MVC 4.
sekarang berhasil :)
sumber
Buka dua lokasi file dll di sistem Anda, salin salah satu dari dll di lokasi file Anda ke yang lain
dan coba jalankan proyek.
sumber
Cara lain untuk memperbaikinya, tanpa harus memperbarui referensi adalah ini
sumber