Error message “No exports were found that match th

2018-12-31 23:07发布

问题:

This morning I faced a problem while opening my Visual Studio solution, and when I tried to run it, it said:

No exports were found that match the constraint contract name

How can I fix this problem?

回答1:

I solved this problem by clearing Visual Studio Component Model Cache.

Just delete or rename this folder:

%LocalAppData%\\Microsoft\\VisualStudio\\11.0\\ComponentModelCache

or

%LocalAppData%\\Microsoft\\VPDExpress\\11.0\\ComponentModelCache

and restart Visual Studio.

The version of Visual Studio you have is specified by the number e.g.

Visual Studio 2012 is 11.0 (as shown above)

Visual Studio 2013 is 12.0

Visual Studio 2015 is 14.0

Visual Studio 2017 is 15.0

For those that don\'t know: %LocalAppData%\\ is the same as C:\\Users\\{yourUsername}\\AppData\\Local



回答2:

No need to rename or delete the whole folder:

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

Just rename or delete the Microsoft.VisualStudio.Default.cache file inside the above location.



回答3:

Visual Studio Express 2012 has different paths.

Visual Studio Express

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

With Visual Studio Express 2012 for Web

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

I did not have to re-install Visual Studio Express



回答4:

This will really work like a champ:

Solution: Try to delete ComponentModelCache folder from the below location.

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

And after successful delete, recreate the folder with the same name, \"ComponentModelCache\".



回答5:

Deleting the Component Model Cache did not work for me (well, the relative directory given above did not exist in my machine). Instead, I installed an extension to Visual Studio 2012 Express. Menu Tools → *Extensions and Updates...** → OnlineChoose any and then download. This apparently invalidates the cache causing Visual Studio to rebuild it.

Here\'s my source.



回答6:

This issue can be resolved by deleting or clearing all the folders and files from %AppData%\\..\\Local\\Microsoft\\VisualStudio\\11.0\\ComponentModelCache

This actually clears the Visual Studio component model cache.

On Windows 7 machines, the path is different. When you type %appdata% in Run dialog, it opens the folder C:\\Users\\<username>\\AppData\\Roaming.

Click the \'up\' button to navigate to the parent folder and select the folder \'Local\'.

Final path: C:\\Users\\<username>\\AppData\\Local\\Microsoft\\VisualStudio\\11.0\\ComponentModelCache



回答7:

For Visual Studio 2013 you need to remove that folder from this path:

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


回答8:

for Visual Studio 2012 and later versions, the solution must be deleting the content of the folder ComponentModelCache:

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

Visual Studio 2013

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


回答9:

I had the same problem upon launching Visual Studio 2013 Ultimate, and the solutions here didn\'t work for me. I tried deleting the mentioned folders and starting Visual Studio again, but it didn\'t work.

However I had other problems too, like Microsoft.visual studio package did not load correctly and also Page '312e8a59-2712-48a1-863e-0ef4e67961fc' not found VS 2012. The latter refers to a message in the Team Explorer window saying \"Page \'somenumber\' cannot be found\".

So I run devenv /setup on the Visual Studio command prompt with administrative rights. It did the job, and everything is fine now.



回答10:

Remove ComponentModelCache folder content.

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


回答11:

Clearing the folders didn\'t work for me. So I went to \'Programs and Features\' and used the change button to startup the Visual Studio 2013 setup.

In the setup I choose the repair function and that fixed the problem for me.



回答12:

I had the same problem with Visual Studio Express 2013 of Windows 8.1.

Unfortunatly there was no \"ComponentModelCache\" folder in
%AppData%..\\Local\\Microsoft\\VisualStudio\\12.0\\ComponentModelCache.

I found the \"ComponentModelCache\" folder in
..\\Users[username]\\AppData\\Local\\Microsoft\\WDExpress\\12.0

and solved this problem by removing this folder from there.



回答13:

If you have VS 2013, you have to go to: %LOCALAPPDATA%\\Microsoft\\VisualStudio\\12.0 then rename the ComponentModelCache folder.



回答14:

I experienced a similar problem after some updates released from Microsoft (part of them where about .NET framework 4.5).

On the Internet I got the following link to the Microsoft knowledge base article:

Update for Microsoft Visual Studio 2012 (KB2781514)

It worked for me.



回答15:

This happened to me with Visual Studio 2013 Web, after Windows installed several updates. Unfortunately none of the suggestions in this thread helped.

I had to re-run the installer and select the \"Repair\" option. After that (and a reboot) it was working once again.

In some cases you may have to repair more than one version of Visual Studio. One example is when a Script Task control in VS 2013 opens VS 2012 when you click Edit Script.



回答16:

Renaming the ComponentModelCache folder worked for me in Visual Studio 2015, but with a slightly different path:

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


回答17:

I have Windows 7 x64 with a second partition on which Windows 8 (preview installed). While working with Microsoft Visual Studio Express 2012 for Windows Phone, I come up with the same problem. But the ComponentModelCache is found here:

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

I am unable to delete or rename as I get the \"access is denied\" message when I try to use command prompt:

Administrator: VS2012 X64 CrossToolsCommandPrompt



回答18:

I am using Visual Studio 2012. After installing the Visual Studio 2013 web express, when I want to run or open any project in Visual Studio 2012 it shows me the following error:

\"no exports were found that match the constraint contract name\".

I also tried the above solution for clearing the ComponentModelCache, but I did not find the folder. I solves my problem just by: Repair Visual Studio 2012

For the Express versions of the software, the folder you need is in a slightly different place(s): For Express 2012 for Web it is C:\\Users\\XXXXXXXX\\AppData\\Local\\Microsoft\\VWDExpress - not in the Visual Studio folder.



回答19:

This issue is because of a MEF cache corruption. Installing the feedback extension (or installing any extension) will invalidate the cache causing VS to rebuild it.

click for source.



回答20:

i experienced this problem in Microsoft Visual Studio Express 2012 for windows phone while trying to open file.

Then i browsed to

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

And Inside ComponentModelCache i deleted Microsoft.VisualStudio.Default.cache CACHE file. Finaly i restarted visual studio and reopened my project.

Then my problem was solved, i was able to open file.

Note: My OS is windows 8. And i installed SDK 8 for developing windows phone app

Thanks



回答21:

I had to uninstall some external components like Postsharp and Apex and then it worked. I also tried the chosen solution but it gave me more errors.



回答22:

Deleting the folders haven\'t worked for me i have go control panel and repaired

Visual Studio Installer Projects extensions for VS 2013.

And it worked for me



回答23:

I got an error with the same error message - two years later. It\'s a different problem this time though, related to .NET Core dnx things.

I couldn\'t find an answer on Stack Overflow, but in a GitHub issue it contains a workaround: https://github.com/aspnet/Home/issues/1455

Below is the most important part of the workaround:

  • Delete the entire C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\Web Tools\\DNX directory. (As far as I understand, it belongs to the old version of ASP.NET Core RC1, which for some reason is still shipped even with Visual Studio 2015 Update-3).
  • Delete the C:\\Users\\<user>\\AppData\\Local\\Microsoft\\VisualStudio\\14.0\\devenv.exe.config file.
  • Run the Developer Command Prompt for Visual Studio 2015 as Administrator, and execute the devenv /setup command. The new devenv.exe.config file is generated. This time there are many assemblies that refer to the C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\Microsoft\\DotNet directory.
  • Run the Visual Studio 2015 and check that it shows the Microsoft .NET Core Tools (Preview 2) 14.1.20624.0 in the Help => About Microsoft Visual Studio menu.

Thanks to olegburov\'s post on GitHub for figuring this out.



回答24:

I got this error after reinstalling IntelliJ IDEA and ReSharper for C# in Visual Studio 2013.

First, I got an error problem with extensions, and after this I got this error:

\"No exports were found that match the constraint contract name”

I simply removed folder ComponentModelCache and resolved this error.