Hata mesajı “Kısıtlama sözleşmesi adıyla eşleşen dışa aktarma bulunamadı”


1070

Bu sabah Visual Studio çözümümü açarken bir sorunla karşılaştım ve çalıştırmayı denediğimde şöyle dedi:

Kısıtlama sözleşmesi adıyla eşleşen ihracat bulunamadı

Bu sorunu nasıl düzeltebilirim?


4
Bu can sıkıcı sorundan kurtulmaktan memnuniyet duyarız.
Simon B.Robert

3
Cevabınızı aşağıdaki cevap olarak göndermemelisiniz? Bu şekilde, bizim için işe yaradıysa (ki benim için yaptıysa) yukarı oy verebiliriz ;-)
Kenneth K.

7
Bu sorunun neden oluştuğu hakkında bir fikri olan var mı?
patrickvacek

Yanıtlar:


2160

Visual Studio Bileşen Modeli Önbellek temizleyerek bu sorunu çözdü.

Bu klasörü silin veya yeniden adlandırın:

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

veya

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

ve Visual Studio'yu yeniden başlatın.

Sahip olduğunuz Visual Studio sürümü, sayıyla belirtilir;

Visual Studio 2012 11.0(yukarıda gösterildiği gibi)

Visual Studio 2013: 12.0

Visual Studio 2015: 14.0

Visual Studio 2017: 15.0

Visual Studio 2019 (şimdiki değeri) 16.0

Bilmeyenler için: %LocalAppData%\ile aynıC:\Users\{yourUsername}\AppData\Local

Visual Studio'nun birden çok sürümü yüklü olanlar için, örneğin 2012 ve 2013, Visual Studio'yu yeniden başlatmadan önce her iki sürüm için ComponentModelCache'nin kaldırılmasına yardımcı olabilir, örn. 11.0 ve 12.0.


16
Benim için de çalıştım, ancak VS Desktop Developer'ın hızlı sürümü için önbellek verilerini ... \ AppData \ Local \ Microsoft \ WDExpress
josiah

4
Microsoft.VisualStudio.Default.cache dışında bu dosyaları geri yükledikten sonra o klasördeki tüm silmek sonra benim c ++ dosyaları açamıyorum , sonra benim çözüm sonra her şey normale geri açın.
Scott 混合 理论

2
Microsoft.VisualStudio.Default.cache dosyasını silmek sorunu çözdü
Tim Valentine

1
@alexo, .net 4.5.1 dev paketini vs 2012'ye yükledikten sonra benim için görünüyor
mt_serg

4
Bu uzantı bunu tek bir tıklama ile sizin için otomatik olarak yapar (
VS'yi

150

Tüm klasörü yeniden adlandırmaya veya silmeye gerek yok:

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

Microsoft.VisualStudio.Default.cacheYukarıdaki konumdaki dosyayı yeniden adlandırmanız veya silmeniz yeterlidir.


bu klasördeki tüm öğeleri silerseniz, c ++ dosyası açılamayabilir.
Scott 混合 理论

Bu hayat kurtarıcıydı. Teşekkürler Ananta.
Zakir HC

73

Visual Studio Express 2012'nin farklı yolları vardır.

Visual Studio Express

  • ... \ Users \ {kullanıcı} \ AppData \ Local \ Microsoft \ WDExpress \ 11.0 \ ComponentModelCache

Web için Visual Studio Express 2012 ile

  • ... \ Users \ {kullanıcı} \ AppData \ Local \ Microsoft \ VWDExpress \ 11.0 \ ComponentModelCache

Visual Studio Express'i yeniden yüklemek zorunda kalmadım


37

Bu gerçekten bir şampiyon gibi çalışacak:

Çözüm: ComponentModelCache klasörünü aşağıdaki konumdan silmeyi deneyin.

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

Ve başarıyla silindikten sonra, aynı bileşen olan "ComponentModelCache" adlı klasörü yeniden oluşturun.


bu bana yardımcı oldu, ipuçları için teşekkürler
Arief

28

Bileşen Modeli Önbelleğinin silinmesi benim için işe yaramadı (iyi, yukarıda verilen göreli dizin makinemde yoktu). Bunun yerine, Visual Studio 2012 Express'e bir uzantı yükledim . Menü Araçlar → * Uzantılar ve Güncellemeler ... ** → ÇevrimiçiHerhangi birini seçin ve ardından indirin. Bu görünüşe göre Visual Studio'nun yeniden oluşturmasına neden olan önbelleği geçersiz kılar.

İşte kaynağım .


1
Visual Studio - EXPRESS-- farklı bir konuma sahip. Bu konudaki diğer cevapları kontrol edin.
Pure.Krome

Benim durumumda VS2015 comunity xamarin dahili kurulumdan sonra oldu. kaldırdıktan sonra her şey yolunda gidiyor. Bu cevapta aynı yerde kaldırıyorum. Araçlar> Uzantılar ve Güncellemeler
Ricardo Figueiredo

28

Bu sorun, içindeki tüm klasörleri ve dosyaları silerek veya silerek çözülebilir. %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

Bu aslında Visual Studio bileşen modeli önbelleğini temizler.

Windows 7 makinelerde yol farklıdır. Eğer yazdığınızda %appdata%içinde Çalıştır iletişim, bu klasörü açar C:\Users\<username>\AppData\Roaming.

Üst klasöre gitmek için 'yukarı' düğmesini tıklayın ve 'Yerel' klasörünü seçin.

Son yol: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache


20

için Studio 2012 Görsel ve sonraki sürümleri, çözüm klasörün içeriğini silme edilmelidir ComponentModelCache:

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

Visual Studio 2013

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

20

Visual Studio 2013 için bu klasörü bu yoldan kaldırmanız gerekir:

%AppData%\..\Local\Microsoft\VisualStudio\12.0

1
Pilim vs2013 için oldukça büyük bir xamarin güncellemesi yükledikten sonra bunu yaşadım. Bu klasöre gitti, ComponenetModelCache adını değiştirdi ve yeniden başlatıldığında klasörü yeniden oluşturdu ve düzeltildi. Ty
Dylan Hayes

Ayrıca benim için başka bir hata için çalıştı:'visual c++ package' failed to load
JTIM

16

Visual Studio 2013 Ultimate'ı başlattıktan sonra aynı sorunu yaşadım ve buradaki çözümler benim için işe yaramadı. Söz konusu klasörleri silmeyi ve Visual Studio'yu yeniden başlatmayı denedim, ancak işe yaramadı.

Ancak, Microsoft.visual studio paketinin doğru yüklenmediği ve ayrıca VS 2012 bulunamadı gibi başka sorunları da vardı . İkincisi, Takım Gezgini penceresinde "Sayfa" sayı numarası bulunamadı "mesajını belirtir.

Bu yüzden devenv /setupyönetici hakları ile Visual Studio komut isteminde çalıştırın . İşi yaptı ve şimdi her şey yolunda.


Belirtilen klasörü siliyordum (Win 8.1, VS 2013 Prem) ve VS'yi her kapatıp açtığımda geri gelmeye devam etti. Ne yazık ki bu da işe yaramadı.
bdwakefield

1
Birkaç çözüm denedikten sonra sorunlarımı çözen hile yapıldı. VS2013 için VS Komut İstemi bulmak kolay olmadığından burada yol: C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \
Common7

devenv / setup benim için VS 2015 Pro ile çökme sorununu çözdü. ComponentModelCache düzeltmiyordu.
Zach Green

Vay canına - bunun çalışmasını beklemiyordum, ama olmadı! VS 2017 Topluluk sürümü.
scolja

13

ComponentModelCache klasör içeriğini kaldırın .

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

11

Klasörleri temizlemek benim için işe yaramadı. Bu yüzden 'Programlar ve Özellikler'e gidip Visual Studio 2013 kurulumunu başlatmak için değiştir düğmesini kullandım.

Kurulumda onarım işlevini seçiyorum ve bu benim için sorunu çözdü.


9

Windows 8.1'in Visual Studio Express 2013 ile aynı sorunu yaşadım.

Ne yazık ki,
% AppData% .. \ Local \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache içinde "ComponentModelCache" klasörü yoktu .

"ComponentModelCache" klasörünü buldum
. \ Users [kullanıcı adı] \ AppData \ Local \ Microsoft \ WDExpress \ 12.0

ve bu klasörü oradan kaldırarak bu sorunu çözdü.


8

VS 2013'ünüz varsa, gitmeniz gerekir: % LOCALAPPDATA% \ Microsoft \ VisualStudio \ 12.0 ardından ComponentModelCache klasörünü yeniden adlandırın.


% LOCALAPPDATA% için +1,% AppData% kullanıyordum ve ComponentModelCache gibi bir klasör bulamadım. Ama% LOCALAPPDATA% kullanarak alabilirim.
Rajshekar Reddy

7

Microsoft'tan yayımlanan bazı güncelleştirmelerden sonra benzer bir sorun yaşadım (bunların bir kısmı .NET framework 4.5 hakkında).

İnternette Microsoft bilgi bankası makalesine aşağıdaki bağlantıyı aldım:

Microsoft Visual Studio 2012 Güncelleştirmesi (KB2781514)

Benim için çalıştı.


1
+1 - Harika bul! Bu benim için problemi çözdü. Gelecekte etkileri olabilecek önbellek dosyasını hackishly silmek yerine meşru bir çözümdür.
Travis J

Bu sorunun VS2015'te hala mevcut olması dışında, bunun 'meşru çözüm' olması pek olası değildir.
Neil

6

Windows birkaç güncelleştirme yükledikten sonra bu, Visual Studio 2013 Web ile oldu. Ne yazık ki bu konudaki önerilerin hiçbiri yardımcı olmadı.

Yükleyiciyi yeniden çalıştırmak ve "Onar" seçeneğini seçmek zorunda kaldım. Bundan sonra (ve yeniden başlatma) bir kez daha çalışıyordu.

Bazı durumlarda, Visual Studio'nun birden fazla sürümünü onarmanız gerekebilir. Buna bir örnek, Komut Dosyasını Düzenle'yi tıklattığınızda VS 2013'teki Komut Dosyası Görevi denetiminin VS 2012'yi açmasıdır.


4

ComponentModelCache klasörünü yeniden adlandırmak Visual Studio 2015'te benim için çalıştı, ancak biraz farklı bir yolla:

%AppData%\..\Local\Microsoft\VisualStudio\14.0\ComponentModelCache

3

Üzerinde Windows 8 (önizleme yüklü) ikinci bir bölüm ile Windows 7 x64 var. Windows Phone için Microsoft Visual Studio Express 2012 ile çalışırken, aynı problemle karşılaşıyorum. Ancak ComponentModelCache burada bulunur:

C: \ Kullanıcılar \ Jayaram \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0

Komut istemini kullanmaya çalıştığımda "erişim reddedildi" iletisini alırken silemiyorum veya yeniden adlandıramıyorum:

Yönetici: VS2012 X64 CrossToolsCommandPrompt


3

Bu sorun, bir MEF önbellek bozulması nedeniyle. Geri bildirim uzantısını yüklemek (veya herhangi bir uzantıyı yüklemek) önbelleği geçersiz kılar ve VS'nin yeniden oluşturmasına neden olur.

kaynak için tıklayınız.


3

Visual Studio 2012 kullanıyorum. Visual Studio 2013 web express yükledikten sonra, çalıştırmak veya Visual Studio 2012'de herhangi bir proje açmak istediğinizde bana aşağıdaki hatayı gösterir:

" Kısıtlama sözleşmesi adıyla eşleşen ihracat bulunamadı" .

Ayrıca ComponentModelCache temizlemek için yukarıdaki çözümü denedim , ancak klasörü bulamadık. Sorunumu şu şekilde çözer: Visual Studio 2012'yi Onar

Yazılımın Express sürümleri için ihtiyacınız olan klasör biraz farklı bir yerde bulunur: Web için Express 2012 için C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpressVisual Studio klasöründe değildir.


1
2013'te benim makinemde kurulu tek görsel stüdyo olmasıyla benim için oldu - "bir programı kaldır" panelinden bahsettiğiniz gibi onarıldı ve düzeltildi.
Dave Rael

% AppData% kullanarak klasörü çok başlangıçta bulamadım ama% LOCALAPPDATA% kullanarak naviagte ve klasörü bulabilirsiniz
Rajshekar Reddy

bingo ,,,, bu benim için daha doğru bir cevap
Rohit Behera

2

dosyayı açmaya çalışırken Windows Phone için Microsoft Visual Studio Express 2012'de bu sorunu yaşadı.

Sonra göz attım

C: \ Kullanıcılar \ KullanıcıAdım \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0 \ ComponentModelCache

Ve ComponentModelCache İçinde Microsoft.VisualStudio.Default.cache CACHE dosyasını sildim. Sonunda görsel stüdyoyu yeniden başlattım ve projemi yeniden açtım.

Sonra sorunum çözüldü, dosyayı açabildim.

Not: İşletim sistemim Windows 8'dir. Windows telefon uygulaması geliştirmek için SDK 8'i yükledim

Teşekkürler


2

İki yıl sonra aynı hata mesajıyla ilgili bir hata aldım. Bu kez .NET Core dnx şeyler ile ilgili farklı bir sorun.

Stack Overflow ile ilgili bir cevap bulamadım, ancak bir geçici çözüm içeren bir GitHub sorunu var: https://github.com/aspnet/Home/issues/1455

Geçici çözümün en önemli kısmı aşağıdadır:

  • C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNXDizinin tamamını silin . (Anladığım kadarıyla, ASP.NET Core RC1'in eski sürümüne ait, bazı nedenlerden dolayı hala Visual Studio 2015 Update-3 ile birlikte gönderiliyor).
  • C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.configDosyayı silin .
  • Visual Studio 2015 için Geliştirici Komut İstemi'ni Yönetici olarak çalıştırın ve devenv /setupkomutu yürütün . Yeni devenv.exe.config dosyası oluşturulur. Bu sefer C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNetdizine başvuran birçok derleme var .
  • Visual Studio 2015'i çalıştırın ve Yardım => Microsoft Visual Studio Hakkında menüsünde Microsoft .NET Core Tools (Preview 2) 14.1.20624.0'ı gösterip göstermediğini kontrol edin.

Bunu anladığı için olegburov'un GitHub'daki gönderisine teşekkürler .


1

Postsharp ve Apex gibi bazı harici bileşenleri kaldırmak zorunda kaldım ve sonra çalıştı. Seçilen çözümü de denedim ama bana daha fazla hata verdi.


1

Benim için çalışmayan klasörleri silmek kontrol paneline gitmiş ve onarılmış

Visual Studio Installer Projects extensions for VS 2013.

Ve benim için çalıştı


0

IntelliJ IDEA ve ReSharper'ı yeniden yükledikten sonra bu hatayı aldımVisual Studio 2013'te C # için .

İlk olarak, uzantılarla ilgili bir hata sorunum var ve bundan sonra bu hatayı aldım:

"Kısıtlama sözleşmesi adıyla eşleşen ihracat bulunamadı"

ComponentModelCache klasörünü kaldırdım ve bu hatayı çözdüm.


0

2 sentim: Yukarıdaki tüm hayat kurtarıcı ipuçlarını takiben, biraz farklı bir deneyim yaşadım; mine VS 2017 Topluluk Sürümü, bir kez yüklendi ve bu 3 klasörün hepsine sahip olduğunu fark ettim:

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

Bu ComponentModelCache olanıdır:

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

Yalnızca Microsoft.VisualStudio.Default.cache öğesinin silinmesinin bir etkisi olmamıştır.

Bu nedenle, 4 dosyayı da sildim: .cache, .err, .external ve kataloglar. VS yeniden başlatıldığında, sorun gitti ve 5. bir dosya göründü:

Microsoft.VisualStudio.Default.scan

0

Kaldırma işlemi ComponentModelCachebenim için çalışmadı. VS 2019'u yeniden yüklemek, bu konuda bir öneri sayesinde oldu Microsoft destek iş parçacığındaki .

ayrıntılar

  • Bu, MS'den gelen bir düzeltmeyle bilinen bir hata gibi görünüyor (1/7/2020 itibariyle)
  • Visual Studio Installer kullanarak VS2019 Pro 16.2'den (sanırım?) 16.4.2'ye yükselttikten sonra deneyimli
  • Hem nuget konsolunu hem de nuget paket yöneticisini başlatmaya çalışırken hata görüntüleniyor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.