Saya melakukan upgrade menurut. http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and- web-api-2
Saya mendapatkan kesalahan. Apakah ada orang lain yang mengalami kesalahan ini?
Kesalahan Server dalam Aplikasi '/'.
Tidak dapat memuat file atau assembly 'System.Web.Http, Versi = 4.0.0.0, Culture = netral, PublicKeyToken = 31bf3856ad364e35' atau salah satu dari dependensinya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040)
Deskripsi: Pengecualian yang tidak tertangani terjadi selama eksekusi permintaan web saat ini. Harap tinjau jejak tumpukan untuk informasi lebih lanjut tentang kesalahan dan dari mana asalnya dalam kode.Rincian Pengecualian: System.IO.FileLoadException: Tidak dapat memuat file atau sistem System.Web.Http, versi = 4.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35 'atau salah satu dari dependensinya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040)
Kesalahan Sumber:
Baris 48: Baris 49: Baris 50:} Baris 51: Baris 52: protected void Application_BeginRequest (pengirim objek, EventArgs e)
Sumber File: d: \ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ Global.asax.cs Baris: 50
Jejak Beban Perakitan: Informasi berikut ini dapat membantu untuk menentukan mengapa perakitan System.Web.Http, Versi = 4.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35 'tidak dapat dimuat.
=== Informasi status sebelum-terikat === LOG: DisplayName = System.Web.Http, Versi = 4.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35 (Ditentukan lengkap) LOG: Appbase = file: /// D: /SM/7.4Test/WebAPIServerV2/ThirdPartyWebAPI/ LOG: Inisial PrivatePath = D: \ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ bin Memanggil perakitan: ThirdPartyWebAPI, Versi = 1.0.0.0, Budaya = netral, PublicKeyToken = null. === LOG: Ikatan ini dimulai dalam konteks pemuatan default. LOG: Menggunakan file konfigurasi aplikasi: D: \ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ web.config LOG: Menggunakan file konfigurasi host: C: \ Users \ michalc \ Documents \ IISExpress \ config \ aspnet.config LOG: Menggunakan konfigurasi mesin file dari C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config. LOG: Referensi pasca kebijakan: System.Web.Http, Versi = 4.0.0.0, Culture = netral, PublicKeyToken = 31bf3856ad364e35 LOG: Mencoba mengunduh file URL baru: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/Tautan ASP.NET Files / root / 9184b2ea / c6d4b139 / System.Web.Http.DLL. LOG: Mencoba mengunduh file URL baru: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/T ASP.NET File sementara / root / 9184b2ea / c6d4b139 / System.Web.Http / System.Web.Http .DLL. LOG: Mencoba mengunduh file URL baru: /// D: /SM/7.4Test/WebAPIServerV2/ThirdPartyWebAPI/bin/System.Web.Http.DLL. WRN: Membandingkan nama rakitan menghasilkan ketidakcocokan: Versi Utama ERR: Gagal menyelesaikan pengaturan rakitan (jam = 0x80131040). Probing dihentikan. Mencoba mengunduh file URL baru: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/ File ASP.NET sementara / root / 9184b2ea / c6d4b139 / System.Web.Http / System.Web.Http.DLL . LOG: Mencoba mengunduh file URL baru: /// D: /SM/7.4Test/WebAPIServerV2/ThirdPartyWebAPI/bin/System.Web.Http.DLL. WRN: Membandingkan nama rakitan menghasilkan ketidakcocokan: Versi Utama ERR: Gagal menyelesaikan pengaturan rakitan (jam = 0x80131040). Probing dihentikan. Mencoba mengunduh file URL baru: /// C: /Windows/Microsoft.NET/Framework/v4.0.30319/ File ASP.NET sementara / root / 9184b2ea / c6d4b139 / System.Web.Http / System.Web.Http.DLL . LOG: Mencoba mengunduh file URL baru: /// D: /SM/7.4Test/WebAPIServerV2/ThirdPartyWebAPI/bin/System.Web.Http.DLL. WRN: Membandingkan nama rakitan menghasilkan ketidakcocokan: Versi Utama ERR: Gagal menyelesaikan pengaturan rakitan (jam = 0x80131040). Probing dihentikan. Gagal menyelesaikan pengaturan perakitan (jam = 0x80131040). Probing dihentikan. Gagal menyelesaikan pengaturan perakitan (jam = 0x80131040). Probing dihentikan.
Jejak Tumpukan:
[FileLoadException: Tidak dapat memuat file atau perakitan 'System.Web.Http, Versi = 4.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' atau salah satu dari dependensinya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040)] ThirdPartyWebAPI.WebApiApplication.Application_Start () di d: \ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ Global.asax.cs: 50
[HttpException (0x80004005): Tidak dapat memuat file atau perakitan 'System.Web.Http, Versi = 4.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' atau salah satu dari dependensinya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040)]
System.Web.HttpApplicationFactory.PastikanAppMemulaiMode Terpadu
(HttpKontek konteks, HttpAplikasi Aplikasi) +9935033
System.Web.HttpApplication.RegisterEventSubjectTertexttttttttttextpttpttpttpttpttpttp; .InitSpecial (status HttpApplicationState, methodInfo [], IntPtr appContext, konteks HttpContext) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr appContext, konteks HttpContext) +336
System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr appContext) +296[HttpException (0x80004005): Tidak dapat memuat file atau perakitan 'System.Web.Http, Versi = 4.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' atau salah satu dari dependensinya. Definisi manifes rakitan yang ditemukan tidak cocok dengan rujukan rakitan. (Pengecualian dari HRESULT: 0x80131040)]
System.Web.HttpRuntime.FirstRequestInit (HttpContext Konteks) +9913572 System.Web.HttpRuntime.PastikanFirstRequestInit (HttpKontek konteks) +101 System.Web.HttpontextTertanyaanTugasKontro
Informasi Versi: Microsoft .NET Framework Versi: 4.0.30319; Versi ASP.NET: 4.0.30319.18408
sumber
Jawaban:
Saya memperbaikinya dengan menginstal ulang paket NuGet , yang mengoreksi dependensi yang rusak. Dari manajer paket, jalankan:
sumber
Untuk menyelesaikan galat Tidak Dapat memuat file atau rakitan 'System.Web.Http' gunakan NuGet untuk menginstal Web API 2.1 WebHost.
Dalam solusi explorer di referensi klik kanan dan pilih kelola paket nuget. (jika tidak ada instal nuget)
Di jendela kelola Paket NuGet di sebelah kiri klik online kemudian di pencarian kanan atas untuk Host Web dan instal Microsoft ASP.NET Web API 2.1 Web Host. (Setelah diinstal, tombol instal akan berubah menjadi tanda centang hijau)
Setelah itu proyek akan dimuat ulang dan ketika dibangun kembali kesalahan akan diselesaikan dan proyek akan debug dan dijalankan. Kesalahan akan hilang dan Anda mungkin 'Sumber tidak dapat ditemukan. Cukup tambahkan url (mis dari localhost: 52088 / ke localhost: 52088api / produk)
Pertanyaan Anda bagus dan membantu saya.
Semoga jawaban ini membantu!
sumber
Anda perlu menambahkan arahan ulang perakitan:
Kemungkinan besar Anda harus melakukan ini untuk beberapa majelis seperti webhosting, dll.
sumber
System.Web.Http
.Atau Anda bisa melakukan ini dari NuGet Package Manager Console
Dan kemudian Anda akan dapat menambahkan referensi ke System.Web.Http.WebHost 5.0
sumber
Ketika saya menginstal Web Api 2.2 membantu kesalahan ini dimulai. Saya menambahkan ini ke web.config dan itu memecahkan masalah saya.
sumber
Saya hanya mengatur
Copy Local = true
perakitan yang hilang dan itu berhasil. Ini tentu saja terjadi dengan mengklik kanan pada referensi yang hilang (yang dinyatakan dalam pesan kesalahan) dan memilih properti; seperti di bawah ini:Ini kemudian harus menyelesaikan satu masalah karena mungkin ada lebih dari satu majelis yang menyebabkan masalah - yang saya lakukan adalah saya memilih semua majelis dan klik kanan pada mereka; properti yang dipilih; dan atur semuanya ke Copy Local = true; dan kemudian diterbitkan kembali.
sumber
Solusi yang tepat untuk mengatasi masalah ini adalah dengan mengikuti langkah-langkah ini
. Perbarui Visual studio jika Anda memiliki versi yang lebih lama ke 15.5.4 (Opsional)
Hapus semua pengalihan yang mengikat dari web.config
Tambahkan ini ke file csproj:
Membangun.
Di folder bin, harus ada
(WebAppName).dll.config
file.Seharusnya ada arahan ulang di dalamnya. Salin ini ke web.config
Hapus potongan di atas dari file csproj lagi
Itu harus bekerja
Detailed Blog
sumber
Bagi saya itu hanya menabrak kesalahan ini pada lingkungan produksi, bukan pada mesin lokal; apa yang dipecahkan adalah menghapus isi folder / bin dan kemudian memperbaruinya lagi.
sumber
Hanya petunjuk yang jelas tetapi mungkin bermanfaat .... ingatlah untuk memeriksa bahwa versi baru yang Anda tentukan dalam ikatan perakitan web Anda adalah versi yang sama dengan yang Anda rujuk dalam referensi proyek Anda. (Yaitu ketika saya menulis ini ... ini akan menjadi 5.1.0.0 jika Anda baru saja melakukan NUGet di System.Web.Http
sumber
sumber
Ini mungkin membantu seseorang.
Saya memutuskan untuk menggunakan aplikasi MVC4.
menjalankan proyek, berhasil
Kemudian Menginstal beberapa paket seperti,
Microsoft ASP.NET WEB API 2.2 (4 paket)
Microsoft ASP.NET WEB API 2.2 Halaman Bantuan
Microsoft ASP.NET WEB API 2.2 OWIN
menjalankan proyek, kesalahan yang sama seperti yang disebutkan dalam pertanyaan
Larutan:
Di web.config
Masalah terpecahkan
tetapi kemudian, beberapa kesalahan perbaikan terbaru ditemukan, Untuk mengatasinya, buka folder VIEW proyek MVC4 Anda, temukan file
second
web.config dan ubah versi dari 2.0.0.0 ke 3.0.0.0 seperti yang ditunjukkan di bawah ini.sumber
Dalam kasus saya, saya benar-benar kehilangan saya
web.config
sama sekali, yang memiliki pengalihan yang sesuai mengikat. Memulihkanweb.config
kesalahan yang diselesaikan.sumber
Saya bisa memecahkan masalah yang sama dengan System.Net.HTTP dengan menambahkan referensi perakitan di app.config dari aplikasi utama.
sumber
Saya menemukan solusinya! Hapus paket folder bernama dalam direktori proyek dan kemudian membangun kembali untuk menjalankannya.
sumber
sumber
IYA!!!
Ini berfungsi dengan baik dalam kasus saya .... thnkz
sumber
Saya tidak apa-apa, hanya menyalin DLL folder bin pengembangan ke folder Bin yang dikerahkan secara online dan itu berfungsi dengan baik untuk saya.
sumber
Seperti yang orang lain katakan, instal ulang paket MVC ke proyek web Anda menggunakan nuget, tetapi pastikan untuk menambahkan paket MVC ke proyek apa pun tergantung pada proyek web, seperti tes unit. Jika Anda membangun setiap proyek yang disertakan secara individual, Anda akan melihat bahwa proyek penyihir membutuhkan pembaruan.
sumber
Saya memiliki masalah yang sama dan menginstal ulang paket tidak berfungsi.
Aplikasi saya berjalan di LocalIIS (bukan IIS EXPRESS). Saya mengaktifkan Assembly Load Trace dan mengetahuinya ingin memuat System.Web.Http memuat dari bawah temp catche. jadi hapus semua folder tangkap di dalamnya.
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ File ASP.NET Sementara [aplikasi saya]
sumber
Saya memecahkan masalah ini dengan mengembalikan perubahan yang telah dibuat nuget
web.config
setelah menjalankannyanuget
. Kembalikan perubahan ke versi kerja sebelumnya.sumber
Apa yang memecahkan masalah bagi saya adalah menginstal ulang halaman bantuan Microsoft ASP.NET Web API 2.2 dan Microsoft ASP.NET Web API 2.2 paket OWIN . Saya menginstal ulang keduanya pada saat yang sama, tetapi saya pikir itu adalah yang pertama memperbaiki masalah.
Saya mencoba beberapa solusi pertama yang ditawarkan di sini tetapi itu tidak membantu, kemudian saya membandingkan dependensi saya dengan yang ada di proyek yang berhasil (dari kursus Pluralsight) dan dua dependensi di atas adalah versi yang lebih rendah (5.0.0) ) jadi saya perbarui ke 5.2.3 dan mulai bekerja.
sumber
Saya mendapat ini dari layanan WCF. Bagi saya (karena masalah ini ditampilkan di pengembang lokal), saya hanya perlu menghapus isi folder bin di bawah solusinya. Membangun kembali berfungsi dengan baik sekali lagi.
sumber
Versi ASP.NET: 4.0.30319.18408 milik .Net4.5 dan System.Web.Http Version = 4.0.0.0 kompatibel untuk .NET4.0. Jadi versi yang Anda miliki tidak kompatibel. Anda harus memperbarui System.Web.Http Anda ke versi 5.0.0.0, yang kompatibel dengan .Net4.5
sumber
Saya punya masalah serupa. Semuanya bekerja sebelumnya. Awalnya dibuat menggunakan Formulir Web dan kemudian ditambahkan Web API untuk beberapa hal.
Apa yang berhasil adalah, di Visual Studio, mengubah mempublikasikan pengaturan profil dari Rilis ke Debug. Aneh, tapi itulah yang berhasil. Jadi berbagi di sini.
sumber
Saya mendapatkan masalah ini ketika menggunakan Azure menggunakan fitur Terbitkan. Ingatlah untuk menghapus file di tempat tujuan.
Publish Settings -> File Publish Options drop down -> Check Remove additional files at destination
Ini menyelesaikan masalah saya, kalau-kalau orang harus berburu untuk ini seperti yang saya lakukan. Semuanya adalah versi yang sama dalam proyek / solusi saya, hanya saja tidak di tujuan yang saya gunakan.
sumber
Jika Anda menggunakan beberapa proyek pada solusi , dan memanggil metode dalam satu proyek ke proyek lain, pastikan bahwa semua proyek (disebut proyek dan proyek pemanggil) menggunakan
'System.Net.Http'
versi unik .sumber
Ubah flag versi Specfic dari true ke false untuk dll dalam referensi
sumber
Saya memiliki masalah yang sama dengan System.Web.Http.WebHost, Versi = 5.2.6.0 direferensikan tetapi paket NuGet terbaru adalah 5.2.7.0. Saya mengedit file web.config, menginstal ulang paket NuGet, lalu mengedit file proyek studio visual untuk semua proyek saya untuk memastikan tidak ada referensi ke 5.2.6.0 yang bertahan. Bahkan setelah semua ini, masalahnya tetap ada.
Kemudian saya mencari di folder bin untuk proyek yang melempar pengecualian, di mana saya menemukan DLL untuk salah satu proyek saya yang lain yang bukan ketergantungan dan seharusnya tidak pernah ada di sana. Saya menghapus DLL yang menyinggung (yang telah dikompilasi menggunakan versi 5.2.6.0 dari System.Web.Http.WebHost), membangun kembali proyek yang merepotkan, dan sekarang ia berfungsi.
sumber