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?


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.


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.


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


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".


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 .


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


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

20

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

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

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.


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

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.


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í.


8

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


+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.


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.


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

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


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.


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.


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


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.


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.


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í


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.


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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.