Pesan kesalahan "Tidak ada ekspor yang cocok dengan nama kontrak kendala"

1070

Pagi ini saya menghadapi masalah saat membuka solusi Visual Studio saya, dan ketika saya mencoba menjalankannya, dikatakan:

Tidak ditemukan ekspor yang sesuai dengan nama kontrak kendala

Bagaimana saya bisa memperbaiki masalah ini?

Simon B.Robert
sumber
4
Terima kasih, Anda senang bisa keluar dari masalah menjengkelkan ini.
Simon B.Robert
3
Anda tidak boleh memposting jawaban Anda sebagai jawaban di bawah? Dengan cara ini kita dapat memilihnya jika itu berhasil untuk kita (yang ternyata berhasil untuk saya) ;-)
Kenneth K.
7
Adakah yang tahu mengapa masalah ini terjadi?
patrickvacek

Jawaban:

2160

Saya memecahkan masalah ini dengan membersihkan Visual Studio Component Model Cache.

Hapus atau ganti nama folder ini:

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

atau

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

dan mulai ulang Visual Studio.

Versi Visual Studio yang Anda miliki ditentukan oleh nomor mis

Visual Studio 2012 adalah 11.0(seperti yang ditunjukkan di atas)

Visual Studio 2013 adalah 12.0

Visual Studio 2015 adalah 14.0

Visual Studio 2017 adalah 15.0

Visual Studio 2019 adalah 16.0

Bagi mereka yang tidak tahu: %LocalAppData%\sama denganC:\Users\{yourUsername}\AppData\Local

Bagi mereka yang memiliki beberapa versi Visual Studio diinstal, misalnya 2012 dan 2013, mungkin membantu menghapus ComponentModelCache untuk kedua versi sebelum memulai ulang Visual Studio, misalnya 11.0 dan 12.0.

Simon B.Robert
sumber
16
Bekerja untuk saya juga, tetapi untuk versi ekspres dari VS Desktop Developer, saya menemukan data cache di ... \ AppData \ Local \ Microsoft \ WDExpress
josiah
4
saya tidak bisa membuka file c ++ saya setelah menghapus semua di folder itu, ketika saya mengembalikan file-file ini kecuali Microsoft.VisualStudio.Default.cache, kemudian buka kembali solusi saya kemudian semuanya kembali normal.
Scott 混合 理论
2
Menghapus file Microsoft.VisualStudio.Default.cache memecahkan masalah
Tim Valentine
1
@alexo, muncul untuk saya setelah menginstal paket .net 4.5.1 dev pada 2012
mt_serg
4
Ekstensi ini melakukan ini secara otomatis untuk Anda dengan satu klik (termasuk memulai kembali VS): Bersihkan Cache Komponen MEF visualstudiogallery.msdn.microsoft.com/...
kzu
150

Tidak perlu mengganti nama atau menghapus seluruh folder:

(%AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache)

Cukup ganti nama atau hapus Microsoft.VisualStudio.Default.cachefile di dalam lokasi di atas.

Ananta Sundar Shrestha
sumber
jika menghapus semua di folder ini, file c ++ mungkin tidak dapat dibuka.
Scott 混合 理论
Ini menyelamatkan hidup. Terima kasih Ananta.
Zakir HC
73

Visual Studio Express 2012 memiliki jalur yang berbeda.

Visual Studio Express

  • ... \ Users \ {user} \ AppData \ Local \ Microsoft \ WDExpress \ 11.0 \ ComponentModelCache

Dengan Visual Studio Express 2012 untuk Web

  • ... \ Users \ {user} \ AppData \ Local \ Microsoft \ VWDExpress \ 11.0 \ ComponentModelCache

Saya tidak perlu menginstal ulang Visual Studio Express

Mereka memanggil saya Trinity
sumber
37

Ini benar-benar akan berfungsi seperti jagoan:

Solusi: Cobalah untuk menghapus folder ComponentModelCache dari lokasi di bawah ini.

[C:]\Users\[your user name]\AppData\Local\Microsoft\VisualStudio\[Visual Studio version number]

Dan setelah berhasil menghapus, buat ulang folder dengan nama yang sama, "ComponentModelCache".

Hadi Salehy
sumber
ini membantu saya, terima kasih atas tipsnya
Arief
28

Menghapus Cache Model Komponen tidak bekerja untuk saya (well, direktori relatif yang diberikan di atas tidak ada di mesin saya). Sebagai gantinya, saya menginstal ekstensi ke Visual Studio 2012 Express . Alat Menu → * Ekstensi dan Pembaruan ... ** → OnlinePilih apa saja lalu unduh. Ini tampaknya membatalkan cache yang menyebabkan Visual Studio membangunnya kembali.

Ini sumber saya .

Nicola
sumber
1
Visual Studio - EXPRESS - memiliki lokasi yang berbeda. Periksa jawaban lain di utas ini.
Pure.Krome
Dalam kasus saya itu terjadi setelah menginstal xamarin extention di komunitas VS2015. setelah menghapus semua berjalan dengan baik. Saya menghapusnya di tempat yang sama dengan jawaban ini. Alat> Ekstensi dan Pembaruan
Ricardo Figueiredo
28

Masalah ini dapat diatasi dengan menghapus atau menghapus semua folder dan file dari %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

Ini sebenarnya membersihkan cache model komponen Visual Studio.

Pada mesin Windows 7, jalurnya berbeda. Saat Anda mengetik %appdata%di dialog Run , itu akan membuka folder C:\Users\<username>\AppData\Roaming.

Klik tombol 'atas' untuk menavigasi ke folder induk dan pilih folder 'Lokal'.

Jalur terakhir: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

myaseedk
sumber
20

untuk Visual Studio 2012 dan versi yang lebih baru, solusinya harus menghapus konten folder ComponentModelCache:

C:\Users\[username]\AppData\Local\Microsoft\WDExpress\11.0\ComponentModelCache

Visual Studio 2013

C:\Users\[username]\AppData\Local\Microsoft\VisualStudio\12.0\ComponentModelCache
Jorgesys
sumber
20

Untuk Visual Studio 2013 Anda harus menghapus folder itu dari jalur ini:

%AppData%\..\Local\Microsoft\VisualStudio\12.0
Arun Rana
sumber
1
Saya mengalami ini setelah baterai saya habis menginstal pembaruan xamarin yang agak besar untuk vs2013. Pergi ke folder ini, mengganti nama ComponenetModelCache dan setelah restart itu menciptakan kembali folder dan itu diperbaiki. Ty
Dylan Hayes
Juga berfungsi untuk kesalahan lain untuk saya:'visual c++ package' failed to load
JTIM
16

Saya memiliki masalah yang sama saat meluncurkan Visual Studio 2013 Ultimate, dan solusi di sini tidak bekerja untuk saya. Saya mencoba menghapus folder yang disebutkan dan memulai Visual Studio lagi, tetapi tidak berhasil.

Namun saya punya masalah lain juga, seperti Microsoft. Paket studio visual tidak memuat dengan benar dan juga Page '312e8a59-2712-48a1-863e-0ef4e67961fc' tidak ditemukan VS 2012 . Yang terakhir mengacu pada pesan di jendela Team Explorer yang mengatakan "Halaman 'nomor' tidak dapat ditemukan".

Jadi saya menjalankan devenv /setupprompt perintah Visual Studio dengan hak administratif. Itu berhasil, dan semuanya baik-baik saja sekarang.

jbarrameda
sumber
Saya menghapus folder yang ditentukan (Win 8.1, VS 2013 Prem) dan terus kembali setiap kali saya menutup dan membuka kembali VS. Sayangnya ini tidak berhasil.
bdwakefield
1
Setelah mencoba beberapa solusi yang dilakukan adalah trik yang menyelesaikan masalah saya. Karena Prompt Perintah VS untuk VS2013 tidak mudah ditemukan di sini adalah jalurnya: C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ Shortcuts
Tarabass
devenv / setup memperbaiki masalah mogok dengan VS 2015 Pro untuk saya. ComponentModelCache tidak memperbaikinya.
Zach Green
Wow - tidak mengharapkan ini bekerja, tetapi ternyata berhasil! VS 2017 Edisi komunitas.
scolja
13

Hapus konten folder ComponentModelCache .

 %AppData%..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache
Ali
sumber
11

Membersihkan folder tidak berhasil untuk saya. Jadi saya pergi ke 'Program dan Fitur' dan menggunakan tombol ubah untuk memulai pengaturan Visual Studio 2013.

Dalam pengaturan saya memilih fungsi perbaikan dan itu memperbaiki masalah bagi saya.

C. Molendijk
sumber
9

Saya memiliki masalah yang sama dengan Visual Studio Express 2013 dari Windows 8.1.

Sayangnya tidak ada folder "ComponentModelCache" di
% AppData% .. \ Local \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache.

Saya menemukan folder "ComponentModelCache" di
.. \ Users [username] \ AppData \ Local \ Microsoft \ WDExpress \ 12.0

dan menyelesaikan masalah ini dengan menghapus folder ini dari sana.

Fose
sumber
8

Jika Anda memiliki VS 2013, Anda harus pergi ke: % LOCALAPPDATA% \ Microsoft \ VisualStudio \ 12.0 kemudian ganti nama folder ComponentModelCache.

Bangun02
sumber
+1 untuk% LOCALAPPDATA%, saya menggunakan% AppData% dan tidak menemukan folder seperti ComponentModelCache. Tetapi menggunakan% LOCALAPPDATA% saya bisa mendapatkannya.
Rajshekar Reddy
7

Saya mengalami masalah yang sama setelah beberapa pembaruan dirilis dari Microsoft (bagian dari mereka di mana tentang .NET framework 4.5).

Di Internet saya mendapat tautan berikut ke artikel basis pengetahuan Microsoft:

Pembaruan untuk Microsoft Visual Studio 2012 (KB2781514)

Ini berhasil untuk saya.

Filippo
sumber
1
+1 - Temukan! Ini memecahkan masalah bagi saya. Ini adalah solusi yang sah alih-alih menghapus file cache yang bisa berimplikasi di masa depan.
Travis J
Kecuali bahwa masalah ini masih ada di VS2015, jadi ini tidak mungkin menjadi 'solusi yang sah'.
Neil
6

Ini terjadi pada saya dengan Visual Studio 2013 Web, setelah Windows menginstal beberapa pembaruan. Sayangnya tidak ada saran di utas ini yang membantu.

Saya harus menjalankan ulang penginstal dan memilih opsi "Perbaikan". Setelah itu (dan reboot) itu berfungsi sekali lagi.

Dalam beberapa kasus, Anda mungkin harus memperbaiki lebih dari satu versi Visual Studio. Salah satu contoh adalah ketika kontrol Script Task di VS 2013 membuka VS 2012 ketika Anda mengklik Edit Script.

easuter
sumber
4

Mengganti nama folder ComponentModelCache bekerja untuk saya di Visual Studio 2015, tetapi dengan jalur yang sedikit berbeda:

%AppData%\..\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
Robotnicka
sumber
3

Saya memiliki Windows 7 x64 dengan partisi kedua tempat Windows 8 (pratinjau dipasang). Saat bekerja dengan Microsoft Visual Studio Express 2012 untuk Windows Phone, saya menemukan masalah yang sama. Tetapi ComponentModelCache ditemukan di sini:

C: \ Users \ Jayaram \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0

Saya tidak dapat menghapus atau mengganti nama saat saya mendapatkan pesan "akses ditolak" ketika saya mencoba menggunakan command prompt:

Administrator: VS2012 X64 CrossToolsCommandPrompt

pengguna2063329
sumber
3

Masalah ini karena korupsi cache MEF. Menginstal ekstensi umpan balik (atau memasang ekstensi apa pun) akan membuat cache tidak valid yang menyebabkan VS membangunnya kembali.

klik untuk sumber.

emy
sumber
3

Saya menggunakan Visual Studio 2012. Setelah menginstal Visual Studio 2013 web express, ketika saya ingin menjalankan atau membuka proyek apa pun di Visual Studio 2012 itu menunjukkan kepada saya kesalahan berikut:

"Tidak ada ekspor yang ditemukan yang sesuai dengan nama kontrak kendala" .

Saya juga mencoba solusi di atas untuk menghapus ComponentModelCache , tetapi saya tidak menemukan folder itu. Saya memecahkan masalah saya hanya dengan: Perbaikan Visual Studio 2012

Untuk versi Express dari perangkat lunak, folder yang Anda butuhkan ada di tempat yang sedikit berbeda: Untuk Express 2012 untuk Web, C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpressfoldernya - bukan di folder Visual Studio.

Peter Mortensen
sumber
1
itu terjadi pada saya pada tahun 2013 dengan itu menjadi satu-satunya studio visual yang diinstal pada mesin saya - melakukan perbaikan, seperti yang Anda sebutkan melalui panel "uninstall program" dan itu diperbaiki.
Dave Rael
Saya tidak menemukan folder juga pada awalnya dengan menggunakan% AppData% tetapi dengan menggunakan% LOCALAPPDATA% Saya bisa naviagte dan menemukan folder
Rajshekar Reddy
bingo ,,,, jawaban ini lebih akurat untuk saya
Rohit Behera
2

Saya mengalami masalah ini di Microsoft Visual Studio Express 2012 untuk windows phone ketika mencoba membuka file.

Lalu aku melihat-lihat

C: \ Users \ MyUserName \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0 \ ComponentModelCache

Dan di dalam ComponentModelCache saya menghapus file CACHE Microsoft.VisualStudio.Default.cache. Akhirnya saya memulai kembali studio visual dan membuka kembali proyek saya.

Kemudian masalah saya terpecahkan, saya bisa membuka file.

Catatan: OS saya adalah windows 8. Dan saya menginstal SDK 8 untuk mengembangkan aplikasi windows phone

Terima kasih

Rashedul.Rubel
sumber
2

Saya mendapat kesalahan dengan pesan kesalahan yang sama - dua tahun kemudian. Ini masalah yang berbeda kali ini, terkait dengan hal-hal .NET Core dnx.

Saya tidak dapat menemukan jawaban di Stack Overflow, tetapi ada masalah GitHub yang berisi solusi: https://github.com/aspnet/Home/issues/1455

Di bawah ini adalah bagian terpenting dari solusi:

  • Hapus seluruh C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNXdirektori. (Sejauh yang saya mengerti, itu milik versi lama ASP.NET Core RC1, yang karena beberapa alasan masih dikirimkan bahkan dengan Visual Studio 2015 Update-3).
  • Hapus C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.configfile.
  • Jalankan Prompt Perintah Pengembang untuk Visual Studio 2015 sebagai Administrator, dan jalankan devenv /setupperintah. File devenv.exe.config baru dibuat. Kali ini ada banyak majelis yang merujuk ke C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNetdirektori.
  • Jalankan Visual Studio 2015 dan periksa bahwa itu menunjukkan Microsoft .NET Core Tools (Pratinjau 2) 14.1.20624.0 dalam Bantuan => Tentang menu Microsoft Visual Studio.

Terima kasih atas pos olegburov di GitHub untuk mengetahui hal ini.

Matty
sumber
1

Saya harus menghapus beberapa komponen eksternal seperti Postsharp dan Apex dan kemudian berhasil. Saya juga mencoba solusi yang dipilih tetapi memberi saya lebih banyak kesalahan.

Revious
sumber
1

Menghapus folder tidak berfungsi untuk saya, saya pergi panel kontrol dan diperbaiki

Visual Studio Installer Projects extensions for VS 2013.

Dan itu berhasil untuk saya

Vivekh
sumber
0

Saya mendapat kesalahan ini setelah menginstal ulang IntelliJ IDEA dan ReSharper untuk C # di Visual Studio 2013.

Pertama, saya mendapat masalah kesalahan dengan ekstensi, dan setelah ini saya mendapat kesalahan ini:

"Tidak ada ekspor yang ditemukan yang sesuai dengan nama kontrak kendala"

Saya cukup menghapus folder ComponentModelCache dan menyelesaikan kesalahan ini.

Igor Levkivskiy
sumber
0

2 sen saya: Mengikuti semua tips menyelamatkan jiwa di atas, saya memiliki pengalaman yang sedikit berbeda; mine adalah VS 2017 Community Edition, diinstal sekali, dan saya perhatikan ada 3 folder ini:

%LocalAppData%\Microsoft\VisualStudio\15.0 ==> Empty
%LocalAppData%\Microsoft\VisualStudio\7f0c75b0 ==> has only the CoreCon folder

Ini adalah yang memiliki ComponentModelCache:

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

Menghapus hanya Microsoft.VisualStudio.Default.cache tidak berpengaruh.

Jadi, saya menghapus semua 4 file di sana: .cache, .err, .external dan katalog. Saat memulai ulang VS, masalah hilang dan muncul file ke-5:

Microsoft.VisualStudio.Default.scan
Marcelo Scofano
sumber
0

Menghapus ComponentModelCachetidak berhasil untuk saya. Menginstal ulang VS 2019 berkat rekomendasi pada utas dukungan Microsoft ini .

Detail

  • Tampaknya ini adalah bug yang dikenal dengan perbaikan yang masuk dari MS (per 1/7/2020)
  • Berpengalaman setelah memutakhirkan dari VS2019 Pro 16.2 (saya pikir itu?) Ke 16.4.2 menggunakan Visual Studio Installer
  • Kesalahan ditampilkan ketika mencoba meluncurkan nuget console dan nuget package manager
w00ngy
sumber