今天早上,我在打开Visual Studio解决方案时遇到了一个问题,当我试图运行它时,它说:

没有找到与约束契约名称匹配的导出

我该如何解决这个问题?


当前回答

无需重命名或删除整个文件夹:

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

只需重命名或删除上述位置中的Microsoft.VisualStudio.Default.cache文件。

其他回答

删除ComponentModelCache文件夹内容。

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

我有Windows 7 x64和Windows 8(预览安装)的第二个分区。在使用Windows Phone的Microsoft Visual Studio Express 2012时,我也遇到了同样的问题。但是ComponentModelCache可以在这里找到:

本地用户目录C: \ \ Jayaram AppData \ \微软\ VPDExpress 11。

当我尝试使用命令提示符时,我无法删除或重命名,因为我得到了“访问被拒绝”的消息:

管理员:VS2012 X64 CrossToolsCommandPrompt

此问题可以通过删除或清除%AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache中的所有文件夹和文件来解决

这实际上清除了Visual Studio组件模型缓存。

在Windows 7的机器上,路径是不同的。当您在运行对话框中输入%appdata%时,它会打开文件夹C:\Users\<username>\ appdata \Roaming。

点击“向上”按钮导航到父文件夹并选择文件夹“Local”。

最终路径:C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\11.0\ComponentModelCache

这个问题是因为MEF缓存损坏。 安装反馈扩展(或安装任何扩展)将使缓存无效,导致VS重新构建它。

点击查看源代码。

我使用的是Visual Studio 2012。安装Visual Studio 2013 web express后,当我想在Visual Studio 2012中运行或打开任何项目时,它会显示以下错误:

“没有发现与约束合同名称匹配的导出”。

我还尝试了上面的解决方案来清除ComponentModelCache, 但是我没有找到文件夹。我解决了我的问题:修复Visual Studio 2012

对于Express版本的软件,您需要的文件夹在一个略微不同的位置:对于Express 2012 For Web,它是C:\Users\XXXXXXXX\AppData\Local\Microsoft\VWDExpress -不在Visual Studio文件夹中。