Pembaruan: sama untuk mvc 4 hingga mvc 5.
Saya memulai proyek mvc 4 baru dan memigrasikan proyek mvc 3 di dalamnya (pengontrol / model / skrip dll). Sementara semuanya kompilasi sekarang saya mendapatkan kesalahan berikut:
Mencoba dengan metode transparan keamanan 'WebMatrix.WebData.PreApplicationStartCode.Start ()' untuk mengakses metode kritis keamanan 'System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport (System.String)' gagal.
Saya tidak dapat menemukan apa pun di web dengan kesalahan ini. Kesalahan terjadi sebelum memulai aplikasi.
Saya mencoba menginstal ulang semua rakitan dengan nuget, membuat web.config 'bersih' tidak berhasil.
Adakah yang pernah mengalami masalah ini sebelumnya?
sumber
Resources
kelas saya , tapi saya mengubahnyaProperties.Resources.xxxxx
dan masalah diperbaiki.code
<dependentAssembly> <assemblyIdentity name = "WebMatrix.WebData" publicKeyToken = "31bf3856ad364e35" culture = "neutral" /> <bindingRedirect oldVersion = "0.0.0.0-3.0.0.0.0 "newVersion =" 3.0.0.0 "/> </dependentAssembly>code
Jika Anda mendapatkan kesalahan
Untuk memperbaiki ini instal paket ini menggunakan manajer paket NuGet.
Setelah itu, mungkin Anda akan mendapatkan kesalahan lain
untuk memperbaikinya instal paket ini menggunakan manajer paket NuGet.
sumber
Bagi siapa pun yang mendarat di sini yang mencoba meningkatkan dari MVC 4 ke MVC5, saya dapat menyelesaikan masalah ini dengan mengikuti petunjuk di http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade -an-aspnet-mvc-4-dan-web-api-project-to-aspnet-mvc-5-dan-web-api-2 .
Saya juga harus menginstal paket "Microsoft.AspNet.WebApi.WebHost" dari nuget. Tapi begitulah.
Oh, dan saya harus membuat pengaturan aplikasi ini:
<add key="owin:AutomaticAppStartup" value="false" />
:)
sumber
Saya mencoba semua solusi di atas dan masih tidak berhasil, sampai saya menemukan bahwa elemen kompilasi web.config merujuk pada versi 2.0.0.0 dari WebMatrix.Data dan WebMatrix.WebData. Mengubah versi entri-entri itu di web.config menjadi 3.0.0.0 membantu saya.
sumber
Saya telah bergumul dengan masalah serupa ketika meningkatkan
mvc 4
kemvc 5
:Kotak centang hapus file ekstra dalam dialog publikasikan untuk saya.
sumber
Menginstal ulang
Microsoft.AspNet.WebHelpers
berfungsi untuk sayasumber
Hanya satu saran lagi ... Ini disebabkan oleh beberapa dll lama dari proyek MVC 3 setelah memutakhirkan ke MVC 5 di folder situs bin pada server penempatan. Meskipun dll ini tidak lagi digunakan oleh basis kode mereka tampaknya menyebabkan masalah. Bersihkan semuanya dan digunakan kembali dan itu baik-baik saja.
sumber
Anda juga bisa mendapatkan:
Ini telah pindah ke paket ini
Anda mungkin harus melakukan build bersih sebelum mencoba salah satu jawaban untuk pertanyaan ini dan setelah memperbarui paket
sumber
Inilah cara saya memperbaiki masalah ini:
Buka konsol pengelola paket nuget dan instal paket nuget di bawah ini:
Bersihkan solusinya, bangun kembali dan aplikasi web asp.net saya mulai bekerja!
sumber
Menghapus semua file dari nampan dan kemudian membangun kembali solusi bekerja untuk saya.
sumber
Bagi saya kesalahan ini disebabkan oleh DotNetOpenAuth tidak kompatibel dengan MVC5 setelah memutakhirkan dari MVC4 ke MVC5. Menghapus Instalasi Microsoft.Web.WebPages.OAuth memperbaiki masalah.
sumber
Saya telah menghapusnya dari referensi saya. Kemudian jalankan ini di Package Manager Console
Akhirnya tambahkan rakitan WebMatrix.WebData ke referensi, dan bangun kembali proyek. Ini berfungsi untuk saya. Saya harap ini menyelesaikan masalah Anda juga.
sumber
Saya menginstal webapi dengannya melalui paket nuget helppages. Paket itu menggantikan sebagian besar binari asp.net mvc 4 dengan versi beta yang tidak bekerja dengan baik bersama dengan sisa proyek. Perbaiki adalah untuk mengembalikan dll mvc 4 asli dan semuanya baik-baik saja.
sumber
Saya mempunyai masalah yang sama, saya harus memperbarui MVC Future (Microsoft.AspNet.Mvc.Futures)
sumber
Bagi saya kesalahan ini diselesaikan dengan menambahkan
di web.config
sumber