Messaggio di errore "Nessuna esportazione trovata corrispondente al nome del contratto di vincolo"


1070

Stamattina ho riscontrato un problema durante l'apertura della mia soluzione di Visual Studio e quando ho provato a eseguirlo, ha detto:

Non sono state trovate esportazioni corrispondenti al nome del contratto di vincolo

Come posso risolvere questo problema?


4
Sei il benvenuto, felice di farti uscire da questo fastidioso problema.
Simon B.Robert,

3
Non dovresti pubblicare la tua risposta come risposta di seguito? In questo modo possiamo votare se funzionasse per noi (cosa che ha fatto per me) ;-)
Kenneth K.

7
Qualcuno ha un'idea del motivo per cui si verifica questo problema?
patrickvacek,

Risposte:


2160

Ho risolto questo problema cancellando la cache del modello dei componenti di Visual Studio.

Elimina o rinomina questa cartella:

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

o

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

e riavvia Visual Studio.

La versione di Visual Studio che hai è specificata dal numero es

Visual Studio 2012 è 11.0(come mostrato sopra)

Visual Studio 2013 è 12.0

Visual Studio 2015 è 14.0

Visual Studio 2017 è 15.0

Visual Studio 2019 è 16.0

Per quelli che non lo sanno: %LocalAppData%\è lo stesso diC:\Users\{yourUsername}\AppData\Local

Per coloro che hanno installato più versioni di Visual Studio, ad esempio 2012 e 2013, potrebbe essere utile rimuovere ComponentModelCache per entrambe le versioni prima di riavviare Visual Studio, ad esempio 11.0 e 12.0.


16
Ha funzionato anche per me, ma per la versione espressa di VS Desktop Developer, ho trovato i dati della cache in ... \ AppData \ Local \ Microsoft \ WDExpress
josiah

4
non riesco ad aprire i miei file c ++ dopo aver eliminato tutto in quella cartella, quando ripristino questi file tranne Microsoft.VisualStudio.Default.cache, quindi riapro la mia soluzione e tutto torna alla normalità.
Scott 混合 理论 il

2
L'eliminazione del file Microsoft.VisualStudio.Default.cache ha risolto il problema
Tim Valentine,

1
@alexo, appare per me dopo aver installato .net 4.5.1 dev pack su vs 2012
mt_serg,

4
Questa estensione lo fa automaticamente con un clic (incluso il riavvio di VS): Cancella cache componenti MEF visualstudiogallery.msdn.microsoft.com/…
kzu

150

Non è necessario rinominare o eliminare l'intera cartella:

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

Basta rinominare o eliminare il Microsoft.VisualStudio.Default.cachefile all'interno della posizione sopra.


se elimina tutto in questa cartella, il file c ++ potrebbe non essere in grado di aprire.
Scott 混合 理论 il

Questo è stato salvavita. Grazie Ananta.
Zakir HC

73

Visual Studio Express 2012 ha percorsi diversi.

Visual Studio Express

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

Con Visual Studio Express 2012 per Web

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

Non ho dovuto reinstallare Visual Studio Express


37

Funzionerà davvero come un campione:

Soluzione: provare a eliminare la cartella ComponentModelCache dalla posizione seguente.

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

E dopo l'eliminazione riuscita, ricreare la cartella con lo stesso nome "ComponentModelCache".


questo mi ha aiutato, grazie per i suggerimenti
Breve

28

L'eliminazione della cache del modello del componente non ha funzionato per me (beh, la relativa directory sopra indicata non esisteva nella mia macchina). Invece, ho installato un'estensione per Visual Studio 2012 Express . Strumenti menu → * Estensioni e aggiornamenti ... ** → OnlineScegli qualsiasi e quindi scarica. Ciò apparentemente invalida la cache causando la ricostruzione di Visual Studio.

Ecco la mia fonte .


1
Visual Studio --EXPRESS-- ha una posizione diversa. Controlla le altre risposte in questa discussione.
Pure.Krome il

Nel mio caso è successo dopo l'installazione dell'estensione xamarin nella comunità VS2015. dopo rimuovere tutto va bene. Lo rimuovo nello stesso posto che in questa risposta. Strumenti> Estensioni e aggiornamenti
Ricardo Figueiredo,

28

Questo problema può essere risolto eliminando o cancellando tutte le cartelle e i file da %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

Ciò cancella effettivamente la cache del modello del componente di Visual Studio.

Su macchine Windows 7, il percorso è diverso. Quando si digita %appdata%nella finestra di dialogo Esegui , si apre la cartella C:\Users\<username>\AppData\Roaming.

Fare clic sul pulsante "su" per accedere alla cartella principale e selezionare la cartella "Locale".

Percorso finale: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache


20

per Visual Studio 2012 e versioni successive, la soluzione deve eliminare il contenuto della cartella 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

Per Visual Studio 2013 è necessario rimuovere quella cartella da questo percorso:

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

1
L'ho sperimentato dopo che la batteria si è esaurita installando un aggiornamento xamarin piuttosto grande per vs2013. Andato in questa cartella, rinominato ComponenetModelCache e al riavvio ha ricreato la cartella ed è stato risolto. Ty
Dylan Hayes,

Ha funzionato anche per un altro errore per me:'visual c++ package' failed to load
JTIM

16

Ho avuto lo stesso problema all'avvio di Visual Studio 2013 Ultimate e le soluzioni qui non hanno funzionato per me. Ho provato a eliminare le cartelle menzionate e a riavviare Visual Studio, ma non ha funzionato.

Tuttavia, ho avuto anche altri problemi, come il pacchetto Microsoft.visual studio non è stato caricato correttamente e anche la pagina '312e8a59-2712-48a1-863e-0ef4e67961fc' non è stata trovata VS 2012 . Quest'ultimo si riferisce a un messaggio nella finestra di Team Explorer che dice "Impossibile trovare la 'pagina' '.

Quindi corro devenv /setupsul prompt dei comandi di Visual Studio con diritti amministrativi. Ha fatto il lavoro e ora va tutto bene.


Stavo eliminando la cartella specificata (Win 8.1, VS 2013 Prem) e continuava a tornare ogni volta che chiudevo e riaprivo VS. Questo purtroppo non ha funzionato neanche.
bdwakefield,

1
Dopo aver provato diverse soluzioni, è stato il trucco che ha risolto i miei problemi. Perché il prompt dei comandi VS per VS2013 non è facile da trovare qui è il percorso: C: \ Programmi (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ Shortcuts
Tarabass

devenv / setup ha risolto un problema di crash con VS 2015 Pro per me. ComponentModelCache non lo stava riparando.
Zach Green,

Wow - non mi aspettavo che funzionasse, ma lo ha fatto! Edizione comunitaria VS 2017.
scolja,

13

Rimuovere il contenuto della cartella ComponentModelCache .

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

11

Cancellare le cartelle non ha funzionato per me. Quindi sono andato su "Programmi e funzionalità" e ho usato il pulsante di modifica per avviare l'installazione di Visual Studio 2013.

Nel setup ho scelto la funzione di riparazione e questo ha risolto il problema per me.


9

Ho avuto lo stesso problema con Visual Studio Express 2013 di Windows 8.1.

Sfortunatamente non c'era una cartella "ComponentModelCache" in
% AppData% .. \ Local \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache.

Ho trovato la cartella "ComponentModelCache" in
.. \ Users [nome utente] \ AppData \ Local \ Microsoft \ WDExpress \ 12.0

e risolto questo problema rimuovendo questa cartella da lì.


8

Se hai VS 2013, devi andare a: % LOCALAPPDATA% \ Microsoft \ VisualStudio \ 12.0, quindi rinominare la cartella ComponentModelCache.


+1 per% LOCALAPPDATA%, stavo usando% AppData% e non ho trovato alcuna cartella come ComponentModelCache. Ma usando% LOCALAPPDATA% posso ottenerlo.
Rajshekar Reddy,

7

Ho riscontrato un problema simile dopo alcuni aggiornamenti rilasciati da Microsoft (parte di essi su .NET Framework 4.5).

Su Internet ho ottenuto il seguente link all'articolo della Microsoft Knowledge Base:

Aggiornamento per Microsoft Visual Studio 2012 (KB2781514)

Ha funzionato per me.


1
+1 - Grande scoperta! Questo ha risolto il problema per me. È la soluzione legittima invece di eliminare in modo fraudolento il file di cache che potrebbe avere implicazioni in futuro.
Travis J,

Solo che questo problema esiste ancora in VS2015, quindi è improbabile che questa sia la "soluzione legittima".
Neil,

6

Questo mi è successo con Visual Studio 2013 Web, dopo che Windows ha installato diversi aggiornamenti. Sfortunatamente nessuno dei suggerimenti in questa discussione ha aiutato.

Ho dovuto rieseguire il programma di installazione e selezionare l'opzione "Ripristina". Dopo quello (e un riavvio) funzionava ancora una volta.

In alcuni casi potrebbe essere necessario riparare più di una versione di Visual Studio. Un esempio è quando un controllo Attività script in VS 2013 apre VS 2012 quando si fa clic su Modifica script.


4

Rinominare la cartella ComponentModelCache ha funzionato per me in Visual Studio 2015, ma con un percorso leggermente diverso:

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

3

Ho Windows 7 x64 con una seconda partizione su cui Windows 8 (anteprima installata). Mentre lavoro con Microsoft Visual Studio Express 2012 per Windows Phone, ho riscontrato lo stesso problema. Ma ComponentModelCache si trova qui:

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

Non riesco a eliminare o rinominare quando ricevo il messaggio "Accesso negato" quando provo a utilizzare il prompt dei comandi:

Amministratore: VS2012 X64 CrossToolsCommandPrompt


3

Questo problema è dovuto a un danneggiamento della cache MEF. L'installazione dell'estensione di feedback (o l'installazione di qualsiasi estensione) invaliderà la cache causando a VS la ricostruzione.

fai clic per la fonte.


3

Sto usando Visual Studio 2012. Dopo aver installato il web express di Visual Studio 2013, quando voglio eseguire o aprire qualsiasi progetto in Visual Studio 2012, mi viene mostrato il seguente errore:

" nessuna esportazione trovata corrispondente al nome del contratto di vincolo" .

Ho anche provato la soluzione di cui sopra per cancellare ComponentModelCache , ma non ho trovato la cartella. Risolvo il mio problema semplicemente: Ripara Visual Studio 2012

Per le versioni Express del software, la cartella di cui hai bisogno si trova in posizioni leggermente diverse: per Express 2012 per Web lo è C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpress, non nella cartella di Visual Studio.


1
è successo per me nel 2013, essendo l'unico studio visivo installato sul mio computer, riparato, come hai detto nel pannello "disinstalla un programma" ed è stato risolto.
Dave Rael,

Inizialmente non ho trovato la cartella usando% AppData% ma utilizzando% LOCALAPPDATA% ho potuto navigare e trovare la cartella
Rajshekar Reddy

bingo ,,,, questa è la risposta più accurata per me
Rohit Behera,

2

ho riscontrato questo problema in Microsoft Visual Studio Express 2012 per Windows Phone durante il tentativo di aprire il file.

Poi ho cercato

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

E all'interno di ComponentModelCache ho eliminato il file CACHE Microsoft.VisualStudio.Default.cache. Alla fine ho riavviato Visual Studio e ho riaperto il mio progetto.

Quindi il mio problema è stato risolto, sono stato in grado di aprire il file.

Nota: il mio sistema operativo è Windows 8. E ho installato SDK 8 per lo sviluppo dell'app Windows Phone

Grazie


2

Ho ricevuto un errore con lo stesso messaggio di errore, due anni dopo. Questa volta si tratta di un problema diverso, correlato alle cose di .NET Core dnx.

Non sono riuscito a trovare una risposta su Stack Overflow, ma c'è un problema con GitHub che contiene una soluzione alternativa: https://github.com/aspnet/Home/issues/1455

Di seguito è la parte più importante della soluzione alternativa:

  • Elimina l'intera C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNXdirectory. (Per quanto ho capito, appartiene alla vecchia versione di ASP.NET Core RC1, che per qualche motivo è ancora fornito anche con Visual Studio 2015 Update-3).
  • Elimina il C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.configfile.
  • Esegui il prompt dei comandi per sviluppatori per Visual Studio 2015 come amministratore ed esegui il devenv /setupcomando. Viene generato il nuovo file devenv.exe.config. Questa volta ci sono molti assembly che fanno riferimento alla C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNetdirectory.
  • Esegui Visual Studio 2015 e verifica che mostri gli strumenti di base di Microsoft .NET (Anteprima 2) 14.1.20624.0 nel menu Aiuto => Informazioni su Microsoft Visual Studio.

Grazie al post di olegburov su GitHub per averlo capito.


1

Ho dovuto disinstallare alcuni componenti esterni come Postsharp e Apex e poi ha funzionato. Ho anche provato la soluzione scelta ma mi ha dato più errori.


1

L'eliminazione delle cartelle non ha funzionato per me, sono andato pannello di controllo e riparato

Visual Studio Installer Projects extensions for VS 2013.

E ha funzionato per me


0

Ho riscontrato questo errore dopo aver reinstallato IntelliJ IDEA e ReSharper per C # in Visual Studio 2013.

Innanzitutto, ho avuto un problema di errore con le estensioni, e dopo questo ho ricevuto questo errore:

"Nessuna esportazione trovata corrispondente al nome del contratto di vincolo"

Ho semplicemente rimosso la cartella ComponentModelCache e risolto questo errore.


0

I miei 2 centesimi: seguendo tutti i suggerimenti sopra salvavita, ho avuto un'esperienza leggermente diversa; il mio è VS 2017 Community Edition, installato una volta, e noto che hanno tutte queste 3 cartelle:

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

Questo è quello che ha ComponentModelCache:

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

L'eliminazione solo di Microsoft.VisualStudio.Default.cache non ha prodotto alcun effetto.

Quindi, ho eliminato tutti i 4 file lì: .cache, .err, .external e cataloghi. Al riavvio di VS, il problema è scomparso ed è apparso un quinto file:

Microsoft.VisualStudio.Default.scan

0

La rimozione ComponentModelCachenon ha funzionato per me. La reinstallazione di VS 2019 ha fatto grazie a una raccomandazione su questo thread di supporto Microsoft.

Dettagli

  • Questo sembra essere un bug noto con una correzione in arrivo da MS (dal 1/7/2020)
  • Esperienza dopo l'aggiornamento da VS2019 Pro 16.2 (penso che fosse?) A 16.4.2 usando Visual Studio Installer
  • Errore visualizzato quando si tenta di avviare sia Nuget Console che Nuget Package Manager
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.