Mensaje de error "No se encontraron exportaciones que coincidan con el nombre del contrato de restricción"

1070

Esta mañana me encontré con un problema al abrir mi solución de Visual Studio, y cuando intenté ejecutarla, decía:

No se encontraron exportaciones que coincidan con el nombre del contrato de restricción

¿Como puedo solucionar este problema?

Simon B.Robert
fuente
44
De nada, feliz de sacarlo de este molesto problema.
Simon B.Robert
3
¿No debería publicar su respuesta como respuesta a continuación? De esta manera, podemos votarlo si funcionó para nosotros (lo que hizo para mí) ;-)
Kenneth K.
77
¿Alguien tiene una idea de por qué ocurre este problema?
patrickvacek

Respuestas:

2160

Resolví este problema borrando la caché de modelos de componentes de Visual Studio.

Simplemente elimine o cambie el nombre de esta carpeta:

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

o

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

y reinicie Visual Studio.

La versión de Visual Studio que tiene está especificada por el número, por ej.

Visual Studio 2012 es 11.0(como se muestra arriba)

Visual Studio 2013 es 12.0

Visual Studio 2015 es 14.0

Visual Studio 2017 es 15.0

Visual Studio 2019 es 16.0

Para los que no saben: %LocalAppData%\es lo mismo queC:\Users\{yourUsername}\AppData\Local

Para aquellos que tienen instaladas varias versiones de Visual Studio, por ejemplo, 2012 y 2013, puede ser útil eliminar ComponentModelCache para ambas versiones antes de reiniciar Visual Studio, por ejemplo, 11.0 y 12.0.

Simon B.Robert
fuente
16
También funcionó para mí, pero para la versión express de VS Desktop Developer, encontré los datos de caché en ... \ AppData \ Local \ Microsoft \ WDExpress
josiah
44
No puedo abrir mis archivos de C ++ después de eliminar todo en esa carpeta, cuando restauro estos archivos excepto Microsoft.VisualStudio.Default.cache, luego vuelvo a abrir mi solución y luego todo vuelve a la normalidad.
Scott 混合 理论
2
La eliminación del archivo Microsoft.VisualStudio.Default.cache resolvió el problema
Tim Valentine
1
@alexo, aparece para mí después de instalar .net 4.5.1 dev pack en vs 2012
mt_serg
44
Esta extensión hace esto automáticamente con un solo clic (incluyendo reiniciar VS): Borrar la caché de componentes MEF visualstudiogallery.msdn.microsoft.com/...
KZU
150

No es necesario cambiar el nombre o eliminar toda la carpeta:

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

Simplemente cambie el nombre o elimine el Microsoft.VisualStudio.Default.cachearchivo dentro de la ubicación anterior.

Ananta Sundar Shrestha
fuente
si elimina todo en esta carpeta, el archivo c ++ tal vez no pueda abrirse.
Scott 混合 理论
Esto fue un salvavidas. Gracias ananta
Zakir HC
73

Visual Studio Express 2012 tiene diferentes caminos.

Visual Studio Express

  • ... \ Usuarios \ {usuario} \ AppData \ Local \ Microsoft \ WDExpress \ 11.0 \ ComponentModelCache

Con Visual Studio Express 2012 para web

  • ... \ Usuarios \ {usuario} \ AppData \ Local \ Microsoft \ VWDExpress \ 11.0 \ ComponentModelCache

No tuve que volver a instalar Visual Studio Express

Me llaman Trinidad
fuente
37

Esto realmente funcionará como un campeón:

Solución: intente eliminar la carpeta ComponentModelCache de la siguiente ubicación.

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

Y después de una eliminación exitosa, vuelva a crear la carpeta con el mismo nombre, "ComponentModelCache".

Hadi Salehy
fuente
esto me ayudó, gracias por los consejos
Arief
28

Eliminar el Caché de Modelo de Componente no funcionó para mí (bueno, el directorio relativo dado anteriormente no existía en mi máquina). En cambio, instalé una extensión para Visual Studio 2012 Express . Herramientas de menú → * Extensiones y actualizaciones ... ** → En líneaElija cualquiera y luego descargue. Aparentemente, esto invalida el caché y Visual Studio lo reconstruye.

Aquí está mi fuente .

Nicola
fuente
1
Visual Studio --EXPRESS-- tiene una ubicación diferente. Verifique las otras respuestas en este hilo.
Pure.Krome
En mi caso sucedió después de instalar xamarin extension en la comunidad VS2015. Después de quitar todo va bien. Lo elimino en el mismo lugar que en esta respuesta. Herramientas> Extensiones y actualizaciones
Ricardo Figueiredo
28

Este problema se puede resolver eliminando o borrando todas las carpetas y archivos de %AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

En realidad, esto borra el caché del modelo de componentes de Visual Studio.

En máquinas con Windows 7, la ruta es diferente. Cuando escribe %appdata%en el cuadro de diálogo Ejecutar , abre la carpeta C:\Users\<username>\AppData\Roaming.

Haga clic en el botón 'arriba' para navegar a la carpeta principal y seleccione la carpeta 'Local'.

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

myaseedk
fuente
20

para Visual Studio 2012 y versiones posteriores, la solución debe eliminar el contenido de la carpeta 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
fuente
20

Para Visual Studio 2013, debe eliminar esa carpeta de esta ruta:

%AppData%\..\Local\Microsoft\VisualStudio\12.0
Arun Rana
fuente
1
Experimenté esto después de que mi batería se agotara instalando una actualización xamarin bastante grande para vs2013. Ingresó a esta carpeta, cambió el nombre de ComponenetModelCache y, al reiniciar, volvió a crear la carpeta y se corrigió. Ty
Dylan Hayes
También funcionó para otro error para mí:'visual c++ package' failed to load
JTIM
16

Tuve el mismo problema al lanzar Visual Studio 2013 Ultimate, y las soluciones aquí no funcionaron para mí. Intenté eliminar las carpetas mencionadas e iniciar Visual Studio nuevamente, pero no funcionó.

Sin embargo, también tuve otros problemas, como el paquete de Microsoft.visual studio no se cargó correctamente y también no se encontró la página '312e8a59-2712-48a1-863e-0ef4e67961fc' VS 2012 . Este último se refiere a un mensaje en la ventana de Team Explorer que dice "No se puede encontrar el 'número de página'".

Entonces ejecuto devenv /setupel símbolo del sistema de Visual Studio con derechos administrativos. Hizo el trabajo, y todo está bien ahora.

jbarrameda
fuente
Estaba borrando la carpeta especificada (Win 8.1, VS 2013 Prem) y seguía volviendo cada vez que cerraba y volvía a abrir VS. Esto desafortunadamente tampoco funcionó.
bdwakefield
1
Después de probar varias soluciones, fue el truco que resolvió mis problemas. Debido a que el símbolo del sistema VS para VS2013 no es fácil de encontrar, aquí está la ruta: C: \ Archivos de programa (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ Shortcuts
Tarabass
devenv / setup solucionó un problema de bloqueo con VS 2015 Pro para mí. ComponentModelCache no lo estaba arreglando.
Zach Green
Wow, no esperaba que esto funcionara, ¡pero lo hizo! VS 2017 Edición comunitaria.
scolja
13

Eliminar el contenido de la carpeta ComponentModelCache .

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

Borrar las carpetas no funcionó para mí. Así que fui a 'Programas y características' y usé el botón de cambio para iniciar la configuración de Visual Studio 2013.

En la configuración, elijo la función de reparación y eso me solucionó el problema.

C. Molendijk
fuente
9

Tuve el mismo problema con Visual Studio Express 2013 de Windows 8.1.

Desafortunadamente no había una carpeta "ComponentModelCache" en
% AppData% .. \ Local \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache.

Encontré la carpeta "ComponentModelCache" en
.. \ Users [nombre de usuario] \ AppData \ Local \ Microsoft \ WDExpress \ 12.0

y resolvió este problema eliminando esta carpeta de allí.

fose
fuente
8

Si tiene VS 2013, debe ir a: % LOCALAPPDATA% \ Microsoft \ VisualStudio \ 12.0 y cambiar el nombre de la carpeta ComponentModelCache.

Rouse02
fuente
+1 para% LOCALAPPDATA%, estaba usando% AppData% y no encontré ninguna carpeta como ComponentModelCache. Pero usando% LOCALAPPDATA% puedo obtenerlo.
Rajshekar Reddy
7

Experimenté un problema similar después de algunas actualizaciones lanzadas por Microsoft (parte de ellas sobre .NET Framework 4.5).

En Internet obtuve el siguiente enlace al artículo de la base de conocimiento de Microsoft:

Actualización para Microsoft Visual Studio 2012 (KB2781514)

Funcionó para mi.

Filippo
fuente
1
+1 - ¡Gran descubrimiento! Esto resolvió mi problema. Es la solución legítima en lugar de eliminar de forma hackeada el archivo de caché que podría tener implicaciones en el futuro.
Travis J
Excepto que este problema todavía existe en VS2015, por lo que es poco probable que sea la 'solución legítima'.
Neil
6

Esto me sucedió con Visual Studio 2013 Web, después de que Windows instaló varias actualizaciones. Lamentablemente, ninguna de las sugerencias en este hilo ayudó.

Tuve que volver a ejecutar el instalador y seleccionar la opción "Reparar". Después de eso (y un reinicio) estaba funcionando una vez más.

En algunos casos, es posible que deba reparar más de una versión de Visual Studio. Un ejemplo es cuando un control de Tarea de secuencia de comandos en VS 2013 abre VS 2012 cuando hace clic en Editar secuencia de comandos.

este
fuente
4

Cambiar el nombre de la carpeta ComponentModelCache funcionó para mí en Visual Studio 2015, pero con una ruta ligeramente diferente:

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

Tengo Windows 7 x64 con una segunda partición en la que Windows 8 (vista previa instalada). Mientras trabajo con Microsoft Visual Studio Express 2012 para Windows Phone, se me ocurre el mismo problema. Pero el ComponentModelCache se encuentra aquí:

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

No puedo eliminar o cambiar el nombre cuando aparece el mensaje "acceso denegado" cuando intento usar el símbolo del sistema:

Administrador: VS2012 X64 CrossToolsCommandPrompt

usuario2063329
fuente
3

Este problema se debe a una corrupción de caché MEF. La instalación de la extensión de retroalimentación (o la instalación de cualquier extensión) invalidará la memoria caché, lo que hará que VS la reconstruya.

haga clic para obtener la fuente.

emy
fuente
3

Estoy usando Visual Studio 2012. Después de instalar Visual Studio 2013 web express, cuando quiero ejecutar o abrir cualquier proyecto en Visual Studio 2012 me muestra el siguiente error:

" no se encontraron exportaciones que coincidan con el nombre del contrato de restricción" .

También probé la solución anterior para borrar el ComponentModelCache , pero no encontré la carpeta. Resuelvo mi problema solo con: Reparar Visual Studio 2012

Para las versiones Express del software, la carpeta que necesita está en un lugar (s) ligeramente diferente: para Express 2012 for Web no está C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpressen la carpeta de Visual Studio.

Peter Mortensen
fuente
1
sucedió para mí en 2013, ya que ese es el único estudio visual instalado en mi máquina: reparó, como mencionó a través del panel "desinstalar un programa" y se solucionó.
Dave Rael
No encontré la carpeta también inicialmente usando% AppData% pero usando% LOCALAPPDATA% pude buscar y encontrar la carpeta
Rajshekar Reddy
bingo ,,,, esta es la respuesta más precisa para mí
Rohit Behera
2

Experimenté este problema en Microsoft Visual Studio Express 2012 para Windows Phone al intentar abrir el archivo.

Entonces busqué

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

Y dentro de ComponentModelCache eliminé el archivo Microsoft.VisualStudio.Default.cache CACHE. Finalmente reinicié Visual Studio y reabrí mi proyecto.

Entonces mi problema fue resuelto, pude abrir el archivo.

Nota: Mi sistema operativo es Windows 8. E instalé SDK 8 para desarrollar la aplicación Windows Phone

Gracias

Rashedul.Rubel
fuente
2

Recibí un error con el mismo mensaje de error: dos años después. Sin embargo, esta vez es un problema diferente, relacionado con las cosas .NET Core dnx.

No pude encontrar una respuesta en Stack Overflow, pero hay un problema de GitHub que contiene una solución alternativa: https://github.com/aspnet/Home/issues/1455

A continuación se muestra la parte más importante de la solución:

  • Eliminar todo el C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNXdirectorio. (Según tengo entendido, pertenece a la versión anterior de ASP.NET Core RC1, que por alguna razón todavía se incluye incluso con Visual Studio 2015 Update-3).
  • Eliminar el C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.configarchivo
  • Ejecute el símbolo del sistema del desarrollador para Visual Studio 2015 como administrador y ejecute el devenv /setupcomando. Se genera el nuevo archivo devenv.exe.config. Esta vez hay muchos ensamblados que hacen referencia al C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\DotNetdirectorio.
  • Ejecute Visual Studio 2015 y verifique que muestre las herramientas principales de Microsoft .NET (Vista previa 2) 14.1.20624.0 en el menú Ayuda => Acerca de Microsoft Visual Studio.

Gracias a la publicación de olegburov en GitHub por resolver esto.

Matty
fuente
1

Tuve que desinstalar algunos componentes externos como Postsharp y Apex y luego funcionó. También probé la solución elegida pero me dio más errores.

Revious
fuente
1

Eliminar las carpetas no me ha funcionado, tengo que ir al panel de control y reparar

Visual Studio Installer Projects extensions for VS 2013.

Y funcionó para mí

Vivekh
fuente
0

Recibí este error después de reinstalar IntelliJ IDEA y ReSharper para C # en Visual Studio 2013.

Primero, tuve un problema de error con las extensiones, y después de esto recibí este error:

"No se encontraron exportaciones que coincidan con el nombre del contrato de restricción"

Simplemente eliminé la carpeta ComponentModelCache y resolví este error.

Igor Levkivskiy
fuente
0

Mis 2 centavos: siguiendo todos los consejos anteriores para salvar vidas, tuve una experiencia ligeramente diferente; el mío es VS 2017 Community Edition, instalado una vez, y noto que tengo todas estas 3 carpetas:

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

Este es el que tiene ComponentModelCache:

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

Eliminar solo Microsoft.VisualStudio.Default.cache no tuvo ningún efecto.

Entonces, eliminé los 4 archivos allí: .cache, .err, .external y catálogos. Al reiniciar VS, el problema desapareció y apareció un quinto archivo:

Microsoft.VisualStudio.Default.scan
Marcelo Scofano
fuente
0

Eliminar ComponentModelCacheno funcionó para mí. La reinstalación de VS 2019 se hizo gracias a una recomendación sobre esto hilo de soporte de Microsoft.

Detalles

  • Esto parece ser un error conocido con una solución entrante de MS (a partir del 7/1/2020)
  • Experimentado después de actualizar de VS2019 Pro 16.2 (¿creo que era?) A 16.4.2 usando Visual Studio Installer
  • Se muestra un error al intentar iniciar la consola nuget y el administrador de paquetes nuget
w00ngy
fuente