Ketika saya mencoba menjalankan perintah "update-database", saya mendapatkan pengecualian ini:
Tentukan tanda '-Verbose' untuk melihat pernyataan SQL yang diterapkan ke database target. System.IO.FileNotFoundException: Tidak dapat memuat file atau assembly 'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' atau salah satu dependensinya. Sistem tidak dapat menemukan berkas yang dicari. Nama file: 'Microsoft.Build.Framework, Versi = 15.1.0.0, Budaya = netral, PublicKeyToken = b03f5f7f11d50a3a'
WRN: Pencatatan pengikatan perakitan dimatikan. Untuk mengaktifkan pencatatan kegagalan pengikatan perakitan, setel nilai registri [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) ke 1. Catatan: Ada beberapa penalti kinerja yang terkait dengan pengelogan kegagalan pengikatan assembly. Untuk mematikan fitur ini, hapus nilai registri [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Tidak dapat memuat file atau rakitan 'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' atau salah satu dependensinya. Sistem tidak dapat menemukan file yang ditentukan.`
sumber
Jawaban:
Saya yakin saya memiliki masalah yang sama seperti Anda. Saya tidak menyimpan keseluruhan pesan kesalahan, tetapi pesan kesalahan saya disimpan
Saya menggunakan Visual Studio 2017 dan coba lakukan
Update-Database
setelahnyaAdd-Migration
.Untuk mengatasi masalah ini saya menutup Visual Studio dan membukanya kembali , lalu jalankan
Update-Database
kembali.Ini mungkin atau mungkin tidak menyelesaikan masalah Anda, tetapi saya pikir saya akan mempostingnya kalau-kalau itu bisa membantu.
sumber
Skrip build lokal kami menggunakan versi lama
nuget.exe
(4.7.1.5393
) untuk memulihkan paket NuGet. Kami mulai mendapatkan kesalahan ini setelah memperbarui ke versi Visual Studio 201916.5.0
. Memperbarui ke versi terbarunuget.exe
(5.4.0.6315
) memperbaiki masalah kami.nuget.exe
dapat diunduh di sini: https://www.nuget.org/downloads .sumber
NuGetToolInstaller@0
menjadiNuGetToolInstaller@1
, bahkan tanpa menentukan versi yang lebih baru. Namun tidak yakin, apakah ini memperbaiki akar penyebab masalah atau perbaikan hanya efek samping dari membersihkan cache lokal.Akar penyebab masalah ini berasal dari jalur relatif di
devenv.exe.config
file keMicrosoft.Build.Framework.dll
(lihat tag xml).Beberapa ekstensi Visual Studio mengubah direktori saat ini dan membuat jalur relatif tidak valid.
Untuk memperbaikinya, buka file ini di
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\
direktori. dan ganti semua..\..\MSBuild\15.0\Bin\
denganC:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\
.sumber
Saya telah menemukan solusi yang tampaknya menyelesaikan masalah untuk selamanya, setidaknya di lingkungan saya yang menjalankan VS 2017 Professional 15.5.2 dan Entity Framework 6.1.1.
Pada dasarnya, instal DLL (dengan beberapa yang terkait) ke GAC (Global Assembly Cache) dan masalah akan hilang.
Ikuti langkah ini:
Tutup semua contoh yang berjalan dari Visual Studio 2017
Luncurkan Prompt Perintah Pengembang Visual Studio 2017
Ketik perintah berikut (ganti Professional dengan edisi Anda, baik Perusahaan atau Komunitas, atau sesuaikan jalur yang sesuai):
gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Framework.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Engine.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Conversion.Core.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Tasks.Core.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll"
Intinya, GAC akan (dalam banyak kasus) diprioritaskan ketika .NET mencoba memuat DLL dan FileNotFoundException akan hilang karena DLL Anda sekarang akan diselesaikan melalui GAC.
Sekali lagi, ini berfungsi untuk saya dan ini hanya solusi, itu tidak akan menyelesaikan masalah inti itu sendiri tetapi setidaknya saya tidak harus memulai ulang VS sepanjang waktu ketika mencoba bekerja dengan migrasi EF, dan itu cukup baik untuk saya.
sumber
Ini berhasil untuk saya - tampaknya masalah non-dukungan mulai tahun 2020.
Di
Azure Build Pipeline
>NuGet tool installer
langkah, ubahVersion of NuGet.exe to install
ke versi yang lebih baru, seperti5.4.0
. Periksa versi di https://dist.nuget.org/tools.json .Masalah hilang dan sekarang berhasil dibangun.
sumber
File saya yang hilang atau versi perakitan berbeda dengan pertanyaannya.
Saya mengalami kesalahan ini ketika saya mencoba untuk mempublikasikan proyek ASP.net saya
Saya memecahkan masalah dengan menginstal Microsoft Build Tools 2015
Saya pikir masalah saya disebabkan oleh saya mempublikasikan proyek yang dibangun dengan VS 2015 di VS 2017. Semoga dapat membantu orang lain yang memiliki masalah yang sama.
sumber
Untuk berjaga-jaga jika me-restart Visual Studio tidak berhasil Pergi ke Task Manager / Process Explorer dan skill VBCSCompiler.exe
Sarankan menggunakan Process Explorer
sumber
Menutup dan membuka kembali Visual Studio bekerja seperti pesona!
sumber
Dalam kasus saya, sesuatu (mungkin NuGet-Update) menambahkan AssemblyBinding ke dalam web.config-File:
<dependentAssembly> <assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-15.1.0.0" newVersion="15.1.0.0" /> </dependentAssembly>
Setelah menghapus dependentAssemby-Entry tersebut, saya dapat Publikasikan Proyek lagi.
sumber
Ini berhasil untuk saya: Kesalahan terjadi saat saya menjalankan perintah nuget restore. Nuget versi 4.6.2. Saya punya dua cara untuk mengatasi masalah ini.
Gunakan Nuget 4.8.2 dan yang lebih tinggi. gacutil / i "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ Microsoft.Build.Framework.dll
sumber
Kami mengalami masalah ini, dan inilah yang perlu kami lakukan dalam kasus kami:
Masalahnya adalah kita memiliki sebuah penghubung perintah database yang
(IDbCommandInterceptor)
dikonfigurasikan yang memanggilHttpRuntime.Cache["somekey"
], dan untuk beberapa alasan perintah migrasi gagal dijalankan karena ini. Setelah menghilangkan ketergantungan ini, semua perintah berjalan dengan sempurna. MungkinHttpRuntime
tidak dapat menemukan dll Build Framework?Jadi periksa seluruh callstack saat perintah migrasi gagal untuk melihat apakah Anda memiliki masalah serupa.
sumber
Saya menghadapi masalah yang sama ketika memperbarui komponen XCode / Mono di macOS.
Solusinya adalah memperbarui Visual Studio untuk Mac ke versi terbaru.
Saya pikir masalah itu menyebabkan penggunaan alat MSBuild baru dari paket .NET Core 3.0 yang diinstal dengan versi XCode / Mono baru.
sumber
Terima kasih untuk mereka yang sudah memposting. Situasi saya diselesaikan dengan kombinasi di atas. Saya telah memiliki beberapa versi Visual Studio: 2015, 2017, 2019. Pada titik tertentu versi MSBUILD berubah dari 15.1 menjadi 15.9, dan saya memecahkan masalah ini dengan memperbarui
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe.config
file agar mengarah ke perpustakaan 15.9. Berikut adalah contoh salah satu entri:<dependentAssembly> <assemblyIdentity name="Microsoft.Build.Utilities.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="15.9.0.0"/> <codeBase version="15.9.0.0" href="..\..\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll" /> </dependentAssembly>
sumber
Menggunakan Visual Studio 2019 Community edition. Saya mencoba solusi lain tanpa banyak keberuntungan, tetapi setelah membersihkan cache NuGet saya, masalah tersebut tampaknya telah teratasi.
sumber
Setelah mencoba semua metode di atas dan banyak lagi - menjalankan
WCF
aplikasi masih gagal untuk saya. Kesalahan:Could not load file or assembly 'Microsoft.Build.Framework, Version=15.1.0.0
..Apa yang berhasil untuk saya adalah menghapus file proyek
*.csproj.user
.. Rupanya ada beberapa konfigurasi usang di dalamnya. Kehilangan 4 jam mencoba mencari tahu ..sumber
Saya melakukan restart, setelah itu saya menemukan bahwa layanan web lokal yang saya jalankan diblokir oleh proses lain yang mengambil port itu. Saya memeriksa proses yang sedang berjalan dan mematikan proses menggunakan TCPView dan semua sepertinya mulai bekerja lagi.
sumber