Mensagem de erro "Não foram encontradas exportações que correspondam ao nome do contrato de restrição"


1070

Esta manhã, enfrentei um problema ao abrir minha solução do Visual Studio e, quando tentei executá-lo, ele disse:

Não foram encontradas exportações que correspondam ao nome do contrato de restrição

Como posso resolver este problema?


4
Seja bem-vindo, prazer em tirá-lo desta questão irritante.
Simon B.Robert

3
Você não deve postar sua resposta como resposta abaixo? Desta forma, pode-se-votá-lo se ele trabalhou para nós (o que ele fez por mim) ;-)
Kenneth K.

7
Alguém tem uma idéia de por que esse problema ocorre?
Patrickvacek 21/09/2015

Respostas:


2160

Resolvi esse problema limpando o cache do Visual Studio Component Model.

Basta excluir ou renomear esta pasta:

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

ou

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

e reinicie o Visual Studio.

A versão do Visual Studio que você possui é especificada pelo número, por exemplo

O Visual Studio 2012 é 11.0(como mostrado acima)

O Visual Studio 2013 é 12.0

O Visual Studio 2015 é 14.0

O Visual Studio 2017 é 15.0

O Visual Studio 2019 é 16.0

Para quem não sabe: %LocalAppData%\é o mesmo queC:\Users\{yourUsername}\AppData\Local

Para quem tem várias versões do Visual Studio instaladas, por exemplo, 2012 e 2013, pode ser útil remover o ComponentModelCache para ambas as versões antes de reiniciar o Visual Studio, por exemplo, 11.0 e 12.0.


16
Trabalhou para mim também, mas para a versão expressa do VS desktop Developer, eu achei os dados de cache em ... \ AppData \ Local \ Microsoft \ WDExpress
Josias

4
Não consigo abrir meus arquivos c ++ depois de excluir tudo nessa pasta, quando restauro esses arquivos, exceto Microsoft.VisualStudio.Default.cache, reabra minha solução e tudo volta ao normal.
Scott混合理论

2
A exclusão do arquivo Microsoft.VisualStudio.Default.cache resolveu o problema
Tim Valentine

1
@alexo, aparece para mim depois de instalar o pacote de desenvolvimento .net 4.5.1 no vs 2012
mt_serg

4
Esta extensão faz isso automaticamente para você com um clique (incluindo reiniciar VS): Limpar MEF Cache Component visualstudiogallery.msdn.microsoft.com/...
kzu

150

Não há necessidade de renomear ou excluir a pasta inteira:

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

Apenas renomeie ou exclua o Microsoft.VisualStudio.Default.cachearquivo dentro do local acima.


se excluir tudo nesta pasta, talvez o arquivo c ++ não consiga abrir.
Scott混合理论

Isso salvou vidas. Obrigado Ananta.
Zakir HC

73

O Visual Studio Express 2012 tem caminhos diferentes.

Visual Studio Express

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

Com o Visual Studio Express 2012 para Web

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

Não precisei reinstalar o Visual Studio Express


37

Isso realmente funcionará como um campeão:

Solução: Tente excluir a pasta ComponentModelCache do local abaixo.

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

E após a exclusão bem-sucedida, recrie a pasta com o mesmo nome, "ComponentModelCache".


Isso me ajudou, obrigado pelas dicas
arief

28

A exclusão do cache do modelo de componentes não funcionou para mim (bem, o diretório relativo fornecido acima não existia na minha máquina). Em vez disso, instalei uma extensão no Visual Studio 2012 Express . Ferramentas do menu → * Extensões e atualizações ... ** → OnlineEscolha qualquer e faça o download. Aparentemente, isso invalida o cache, fazendo com que o Visual Studio o reconstrua.

Aqui está a minha fonte .


1
O Visual Studio --EXPRESS-- tem um local diferente. Verifique as outras respostas neste tópico.
Pure.Krome

No meu caso, isso ocorreu após a instalação da extensão xamarin na comunidade VS2015. depois de remover tudo vai bem. Eu o removo no mesmo lugar que nesta resposta. Ferramentas> Extensões e Atualizações
Ricardo Figueiredo

28

Esse problema pode ser resolvido excluindo ou limpando todas as pastas e arquivos de %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

Na verdade, isso limpa o cache do modelo de componente do Visual Studio.

Nas máquinas com Windows 7, o caminho é diferente. Quando você digita %appdata%na caixa de diálogo Executar , ela abre a pasta C:\Users\<username>\AppData\Roaming.

Clique no botão 'para cima' para navegar até a pasta pai e selecione a pasta 'Local'.

Caminho final: C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache


20

para o Visual Studio 2012 e versões posteriores, a solução deve excluir o conteúdo da pasta 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

Para o Visual Studio 2013, você precisa remover essa pasta deste caminho:

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

1
Eu experimentei isso depois que minha bateria acabou instalando uma atualização bastante grande do xamarin para o vs2013. Entrou nessa pasta, renomeou o ComponenetModelCache e, após a reinicialização, recriou a pasta e foi corrigido. Ty
Dylan Hayes

Também funcionou para outro erro para mim:'visual c++ package' failed to load
JTIM 21/07

16

Eu tive o mesmo problema ao iniciar o Visual Studio 2013 Ultimate, e as soluções aqui não funcionaram para mim. Tentei excluir as pastas mencionadas e iniciar o Visual Studio novamente, mas não funcionou.

No entanto, também tive outros problemas, como o pacote Microsoft.visual studio não foi carregado corretamente e também não foi encontrado no VS 2012 . O último refere-se a uma mensagem na janela do Team Explorer dizendo "A página 'número de som' não pode ser encontrada".

Então, eu corro devenv /setupno prompt de comando do Visual Studio com direitos administrativos. Ele fez o trabalho, e está tudo bem agora.


Eu estava excluindo a pasta especificada (Win 8.1, VS 2013 Prem) e ela voltava toda vez que eu fechava e reabriava o VS. Infelizmente, isso também não funcionou.
precisa saber é o seguinte

1
Depois de tentar várias soluções, foi o truque que resolveu meus problemas. Como o comando VS Prompt para VS2013 não é fácil de encontrar aqui é o caminho para isso: C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ Shortcuts
Tarabass

O devenv / setup corrigiu um problema de falha com o VS 2015 Pro para mim. O ComponentModelCache não estava corrigindo.
Zach Green

Uau - não esperava que isso funcionasse, mas funcionou! Edição VS 2017 Community.
scolja 14/09/18

13

Remova o conteúdo da pasta ComponentModelCache .

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

11

Limpar as pastas não funcionou para mim. Então, fui para 'Programas e Recursos' e usei o botão Alterar para iniciar a instalação do Visual Studio 2013.

Na instalação, escolhi a função de reparo e isso resolveu o problema para mim.


9

Eu tive o mesmo problema com o Visual Studio Express 2013 do Windows 8.1.

Infelizmente, não havia pasta "ComponentModelCache" em
% AppData% .. \ Local \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache.

Encontrei a pasta "ComponentModelCache" em
.. \ Users [nome de usuário] \ AppData \ Local \ Microsoft \ WDExpress \ 12.0

e resolveu esse problema removendo esta pasta de lá.


8

Se você tiver o VS 2013, precisará acessar: % LOCALAPPDATA% \ Microsoft \ VisualStudio \ 12.0 e renomeie a pasta ComponentModelCache.


+1 para% LOCALAPPDATA%, eu estava usando% AppData% e não encontrei nenhuma pasta como ComponentModelCache. Mas usando% LOCALAPPDATA% eu consigo.
Rajshekar Reddy

7

Eu tive um problema semelhante após algumas atualizações lançadas pela Microsoft (parte delas sobre o .NET Framework 4.5).

Na Internet, obtive o seguinte link para o artigo da base de conhecimento da Microsoft:

Atualização para o Microsoft Visual Studio 2012 (KB2781514)

Funcionou para mim.


1
+1 - Ótima descoberta! Isso resolveu o problema para mim. É a solução legítima, em vez de excluir o arquivo de cache de forma hackeada, o que pode ter implicações no futuro.
Travis J

Exceto que esse problema ainda existe no VS2015, é improvável que essa seja a 'solução legítima'.
Neil

6

Isso aconteceu comigo no Visual Studio 2013 Web, depois que o Windows instalou várias atualizações. Infelizmente, nenhuma das sugestões neste tópico ajudou.

Eu tive que executar novamente o instalador e selecionar a opção "Reparar". Depois disso (e uma reinicialização), estava funcionando novamente.

Em alguns casos, talvez seja necessário reparar mais de uma versão do Visual Studio. Um exemplo é quando um controle de Tarefa de Script no VS 2013 abre o VS 2012 quando você clica em Editar Script.


4

Renomear a pasta ComponentModelCache funcionou para mim no Visual Studio 2015, mas com um caminho ligeiramente diferente:

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

3

Eu tenho o Windows 7 x64 com uma segunda partição na qual o Windows 8 (visualização instalada). Ao trabalhar com o Microsoft Visual Studio Express 2012 para Windows Phone, encontro o mesmo problema. Mas o ComponentModelCache é encontrado aqui:

C: \ Usuários \ Jayaram \ AppData \ Local \ Microsoft \ VPDExpress \ 11.0

Não consigo excluir ou renomear, pois recebo a mensagem "acesso negado" quando tento usar o prompt de comando:

Administrador: VS2012 X64 CrossToolsCommandPrompt


3

Esse problema ocorre devido a uma corrupção de cache do MEF. Instalar a extensão de feedback (ou instalar qualquer extensão) invalidará o cache, fazendo com que o VS o reconstrua.

clique para fonte.


3

Estou usando o Visual Studio 2012. Depois de instalar o Web Studio do Visual Studio 2013, quando desejo executar ou abrir qualquer projeto no Visual Studio 2012, ele me mostra o seguinte erro:

" não foram encontradas exportações que correspondam ao nome do contrato de restrição" .

Eu também tentei a solução acima para limpar o ComponentModelCache , mas não encontrei a pasta. Eu resolvo meu problema apenas por: Reparar o Visual Studio 2012

Para as versões Express do software, a pasta que você precisa está em um local (s) um pouco diferente: No Express 2012 for Web, ela está C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpress- não na pasta Visual Studio.


1
isso aconteceu comigo em 2013, sendo esse o único estúdio visual instalado na minha máquina - reparou, como você mencionou no painel "desinstalar um programa" e foi corrigido.
Dave Rael

Eu não encontrar a pasta demasiado inicialmente usando% AppData%, mas usando% LOCALAPPDATA% eu poderia naviagte e localize a pasta
Rajshekar Reddy

bingo ,,,, este é resposta mais precisa para mim
Rohit Behera

2

Eu experimentei esse problema no Microsoft Visual Studio Express 2012 para windows phone enquanto tentava abrir o arquivo.

Então eu naveguei para

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

E por dentro ComponentModelCache eu excluí o arquivo CACHE do Microsoft.VisualStudio.Default.cache. Finalmente, reiniciei o visual studio e reabri meu projeto.

Então meu problema foi resolvido, eu consegui abrir o arquivo.

Nota: Meu sistema operacional é o Windows 8. E instalei o SDK 8 para desenvolver o aplicativo Windows Phone

obrigado


2

Eu recebi um erro com a mesma mensagem de erro - dois anos depois. Desta vez, é um problema diferente, relacionado às coisas do .NET Core dnx.

Não consegui encontrar uma resposta no Stack Overflow, mas há um problema no GitHub que contém uma solução alternativa: https://github.com/aspnet/Home/issues/1455

Abaixo está a parte mais importante da solução alternativa:

  • Exclua o C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNXdiretório inteiro . (Pelo que entendi, ele pertence à versão antiga do ASP.NET Core RC1, que por algum motivo ainda é enviada mesmo com o Visual Studio 2015 Update-3).
  • Exclua o C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.configarquivo
  • Execute o prompt de comando do desenvolvedor do Visual Studio 2015 como administrador e execute o devenv /setupcomando O novo arquivo devenv.exe.config é gerado. Desta vez, existem muitos assemblies que se referem ao C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNetdiretório.
  • Execute o Visual Studio 2015 e verifique se ele mostra o Microsoft .NET Core Tools (Visualização 2) 14.1.20624.0 no menu Ajuda => Sobre o Microsoft Visual Studio.

Obrigado à publicação de olegburov no GitHub por descobrir isso.


1

Eu tive que desinstalar alguns componentes externos, como Postsharp e Apex, e funcionou. Eu também tentei a solução escolhida, mas ela me deu mais erros.


1

A exclusão das pastas não funcionou para mim. Tenho o painel de controle e reparado

Visual Studio Installer Projects extensions for VS 2013.

E funcionou para mim


0

Eu recebi esse erro depois de reinstalar o IntelliJ IDEA e o ReSharper for C # no Visual Studio 2013.

Primeiro, recebi um problema de erro com extensões e, depois disso, recebi este erro:

"Não foram encontradas exportações que correspondam ao nome do contrato de restrição"

Simplesmente removi a pasta ComponentModelCache e resolvi esse erro.


0

Meus 2 centavos: Depois de todas as dicas acima para salvar vidas, tive uma experiência um pouco diferente; o meu é o VS 2017 Community Edition, instalado uma vez, e noto que todas as três pastas estão:

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

Este é o que possui o ComponentModelCache:

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

A exclusão apenas do Microsoft.VisualStudio.Default.cache não teve efeito.

Então, eu apaguei todos os 4 arquivos lá: .cache, .err, .external e catálogos. Ao reiniciar o VS, o problema desapareceu e apareceu um quinto arquivo:

Microsoft.VisualStudio.Default.scan

0

Remover ComponentModelCachenão funcionou para mim. A reinstalação do VS 2019 ocorreu graças a uma recomendação neste segmento de suporte da Microsoft.

Detalhes

  • Este parece ser um bug conhecido com uma correção recebida do MS (em 1/7/2020)
  • Experiente após a atualização do VS2019 Pro 16.2 (eu acho que era?) Para 16.4.2 usando o Visual Studio Installer
  • Erro exibido ao tentar iniciar o console nuget e o gerenciador de pacotes nuget
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.