Tidak bisa load file or assembly 'Microsoft.Membangun.Kerangka'(VS 2017)

Ketika saya mencoba menjalankan perintah "update-database", saya mendapatkan pengecualian ini:

Menentukan '-Verbose' bendera untuk melihat pernyataan SQL yang diterapkan untuk database target. Sistem.IO.FileNotFoundException: tidak Bisa load file or assembly 'Microsoft.Membangun.Kerangka, Versi=15.1.0.0, Budaya=netral, PublicKeyToken=b03f5f7f11d50a3a' atau salah satu dari dependensi. Sistem tidak dapat menemukan berkas yang dicari. Nama File: 'Microsoft.Membangun.Kerangka, Versi=15.1.0.0, Budaya=netral, PublicKeyToken=b03f5f7f11d50a3a'

WRN: Majelis mengikat penebangan DIMATIKAN. Untuk mengaktifkan majelis mengikat gagal login, menetapkan nilai registri [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) ke 1. Catatan: Ada beberapa kinerja penalti yang terkait dengan mengikat majelis kegagalan penebangan. Untuk mematikan fitur ini, menghapus nilai registri [HKLM\Software\Microsoft\Fusion!EnableLog].

Bisa tidak memuat file atau perakitan 'Microsoft.Membangun.Framework, Versi=15.1.0.0, Budaya=netral, PublicKeyToken=b03f5f7f11d50a3a' atau salah satu dari dependensi. Sistem tidak dapat menemukan berkas yang ditentukan.`

Larutan

Saya percaya saya memiliki masalah yang sama seperti yang anda lakukan. Aku't menyimpan seluruh pesan kesalahan, tapi kesalahan saya pesan adalah

'tidak Bisa load file or assembly 'Microsoft.Membangun.Framework, Versi=15.1.0.0, Budaya=netral, PublicKeyToken=b03f5f7f11d50a3a' atau salah satu dari dependensi. Sistem tidak dapat menemukan berkas yang ditentukan.'

Saya menggunakan Visual Studio 2017 dan mencoba untuk melakukan Update-Database setelah Add-Migration.

Untuk mengatasi masalah tersebut saya ditutup Visual Studio dan kembali membukanya, kemudian kembali berlari Update-Database lagi.

Ini mungkin atau mungkin tidak menyelesaikan masalah anda, tapi saya pikir saya'd posting hanya dalam kasus itu akan membantu.

Komentar (6)

Akar penyebab dari masalah ini datang dari jalur relatif dalam devenv.exe.config file Microsoft.Build.Framework.dll (lihat tag xml).

Beberapa Visual Studio Ekstensi mengubah direktori saat ini dan membuat jalur relatif tidak valid.

Untuk memperbaikinya, buka file ini dalam C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ direktori. dan mengganti semua ..\..\MSBuild\15.0\Bin\ oleh C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\.

Komentar (9)

I've menemukan solusi yang tampaknya untuk menyelesaikan masalah secara baik, setidaknya di lingkungan saya berjalan VS 2017 Profesional 15.5.2 dan Entity Framework 6.1.1.

Pada dasarnya, instal DLL (dengan beberapa terkait dengan orang-orang) menjadi GAC (Global Assembly Cache) dan masalah akan pergi.

Ikuti langkah-langkah berikut:

1 - Tutup semua contoh menjalankan Visual Studio 2017

2 - Peluncuran Visual Studio 2017 Pengembang Command Prompt

3 - Ketik perintah berikut (ganti Profesional dengan edisi, baik Perusahaan atau Masyarakat, atau menyesuaikan path yang sesuai):

gacutil /saya "C:\Program Files (x86)\Microsoft Visual Studio\2017\Profesional\MSBuild\15.0\Bin\Microsoft.Membangun.Framework.dll"

gacutil /saya "C:\Program Files (x86)\Microsoft Visual Studio\2017\Profesional\MSBuild\15.0\Bin\Microsoft.Membangun.dll"

gacutil /saya "C:\Program Files (x86)\Microsoft Visual Studio\2017\Profesional\MSBuild\15.0\Bin\Microsoft.Membangun.Mesin.dll"

gacutil /saya "C:\Program Files (x86)\Microsoft Visual Studio\2017\Profesional\MSBuild\15.0\Bin\Microsoft.Membangun.Konversi.Inti.dll"

gacutil /saya "C:\Program Files (x86)\Microsoft Visual Studio\2017\Profesional\MSBuild\15.0\Bin\Microsoft.Membangun.Tugas-tugas.Inti.dll"

gacutil /saya "C:\Program Files (x86)\Microsoft Visual Studio\2017\Profesional\MSBuild\15.0\Bin\Microsoft.Membangun.Utilitas.Inti.dll"

4 - Restart Visual Studio 2017

Pada dasarnya, GAC akan (dalam kebanyakan kasus) diberi prioritas saat .NET mencoba untuk memuat DLL dan FileNotFoundException akan pergi seperti yang anda DLL sekarang akan diselesaikan melalui GAC.

Sekali lagi, itu bekerja untuk saya dan itu's hanya solusi, itu tidak't memecahkan masalah inti itu sendiri, tapi setidaknya aku don't harus me-restart VS sepanjang waktu ketika mencoba untuk bekerja dengan EF migrasi, dan yang's cukup baik bagi saya.

Komentar (4)

Hanya dalam kasus restart Visual Studio tidak bekerja Pergi ke Task Manager/ Process Explorer dan keterampilan VBCSCompiler.exe

Sarankan menggunakan Process Explorer

Komentar (1)

Saya kehilangan file atau majelis versi ini berbeda dengan pertanyaan.

Saya memiliki kesalahan ini ketika saya mencoba untuk mempublikasikan saya ASP.net proyek

Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

Aku memecahkan masalah dengan menginstal Microsoft Build Tools 2015

Saya pikir saya masalah yang disebabkan oleh saya mempublikasikan proyek yang dibangun dengan VS 2015 di VS 2017. Berharap dapat membantu orang lain yang memiliki masalah yang sama.

Komentar (1)

Penutup dan re-pembukaan Visual Studio bekerja seperti pesona!

Komentar (0)

Kita punya masalah ini, dan di sini adalah apa yang perlu kita lakukan dalam kasus kami:

Masalahnya adalah bahwa kami memiliki database perintah interceptor (IDbCommandInterceptor) dikonfigurasi yang disebut HttpRuntime.Cache["somekey"], dan untuk beberapa alasan migrasi perintah gagal untuk dijalankan karena hal ini. Setelah menghapus ini depencency, semua perintah berlari sempurna. Mungkin HttpRuntime tidak't dapat menemukan Membangun Kerangka dll?

Jadi memeriksa seluruh callstack ketika migrasi perintah gagal untuk melihat apakah anda memiliki masalah yang sama.

Komentar (1)

Terima kasih untuk mereka yang sudah diposting. Saya situasi itu diselesaikan dengan kombinasi di atas. Saya telah memiliki beberapa versi dari Visual Studio: 2015, 2017, 2019. Di beberapa titik versi MSBUILD pergi dari 15,1 untuk 15.9. Saya memecahkan masalah ini dengan memperbarui C:\Program Files (x86)\Microsoft Visual Studio\2017\Profesional\Common7\IDE\devenv.exe.config untuk point ke 15.9 perpustakaan. Berikut ini adalah contoh dari salah satu entri:

Komentar (0)