错误信息“未发现与约束契约名称匹配的导出”;

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

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

我该如何解决这个问题?

342399 次浏览

我通过清除Visual Studio组件模型缓存解决了这个问题。

只需删除或重命名此文件夹:

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache

并重新启动Visual Studio。

你所拥有的Visual Studio版本由数字指定。

Visual Studio 2012是11.0(如上所示)

Visual Studio 2013是12.0

Visual Studio 2015是14.0

Visual Studio 2017是15.0

Visual Studio 2019是16.0

对于那些不知道的人:%LocalAppData%\C:\Users\{yourUsername}\AppData\Local

相同

对于那些安装了多个版本的Visual Studio的人,例如2012和2013,在重新启动Visual Studio(例如11.0和12.0)之前,删除两个版本的ComponentModelCache可能会有所帮助。

Visual Studio Express 2012有不同的路径。

Visual Studio Express

  • …\ {user} \ AppData \ \用户本地\ Microsoft \ WDExpress \ 11.0 \ ComponentModelCache

使用Visual Studio Express 2012 for Web

  • …\ {user} \ AppData \ \用户本地\ Microsoft \ VWDExpress \ 11.0 \ ComponentModelCache

我不需要重新安装Visual Studio Express

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

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

只需重命名或删除上述位置中的# 0文件。

删除组件模型缓存对我不起作用(好吧,上面给出的相对目录在我的机器中不存在)。相反,我安装了Visual Studio 2012 Express的扩展。菜单工具扩展和更新…在线选择任何这显然使缓存无效,导致Visual Studio重新构建它。

这是我的0号。

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

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

在windows和nbsp;7的机器上,路径不同。当您在运行对话框中键入%appdata%时,它将打开文件夹C:\Users\<username>\AppData\Roaming

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

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

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

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

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

管理员:VS2012 X64 CrossToolsCommandPrompt

我在微软发布了一些更新后遇到了类似的问题(其中一部分是关于. net framework 4.5的)。

在互联网上,我得到了以下微软知识库文章的链接:

Update for Microsoft Visual Studio 2012 (KB2781514)

这对我很管用。

对于Visual Studio 2013,您需要从这个路径中删除该文件夹:

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

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

“# 0。

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

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

我不得不卸载一些外部组件,如Postsharp和Apex,然后它就工作了。我也尝试了选择的解决方案,但它给了我更多的错误。

在启动visual studio 2013 Ultimate时,我也遇到了同样的问题,但这里的解决方案对我不起作用。我试着删除上述文件夹并重新启动Visual Studio,但它不起作用。

然而,我也有其他的问题,像Microsoft.visual studio package未正确加载 .visual studio packagePage '312e8a59-2712-48a1-863e-0ef4e67961fc'不存在VS 2012。后者指的是团队资源管理器窗口中的一条消息,说“无法找到页面‘somenumber’”。

因此,我在Visual Studio命令提示符上运行devenv /setup,并具有管理权限。它成功了,现在一切都好了。

清理文件夹对我没用。所以我选择了“程序和功能”并使用更改按钮来启动Visual Studio 2013的设置。

在设置中,我选择了修复功能,这为我解决了问题。

这发生在我使用Visual Studio 2013 Web时,在Windows安装了几次更新之后。不幸的是,这篇文章中的建议都没有帮助。

我不得不重新运行安装程序并选择“修复”选项。在那之后(和重启),它又开始工作了。

在某些情况下,您可能需要修复多个版本的Visual Studio。例如,当你单击编辑脚本时,VS 2013中的脚本任务控件会打开VS 2012。

删除文件夹没有为我工作,我去控制面板和修复

Visual Studio Installer Projects extensions for VS 2013.

这对我很有效

删除< em > ComponentModelCache < / em >文件夹内容。

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

对于Visual Studio 2012及以后的版本,解决方案必须删除文件夹# 0的内容:

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

Visual Studio 2013

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

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

点击来源

我在windows phone的Microsoft Visual Studio Express 2012中尝试打开文件时遇到了这个问题。

然后我浏览到

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

在ComponentModelCache中,我删除了Microsoft.VisualStudio.Default.cache缓存文件。最后,我重新启动了visual studio并重新启动了我的项目。

然后我的问题解决了,我可以打开文件了。

注意:我的操作系统是windows 8。我安装了SDK 8来开发windows phone应用程序

谢谢

如果你有VS 2013,你必须去:%LOCALAPPDATA%\Microsoft\VisualStudio\12.0然后重命名ComponentModelCache文件夹

我在Windows 8.1的Visual Studio Express 2013上也遇到了同样的问题。

不幸的是,在
中没有“ComponentModelCache”文件夹当地% AppData % . . \ \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache。< / p > 我在
中找到了“ComponentModelCache”文件夹. . \用户【用户名】微软\ AppData \当地\ \ WDExpress \ < / p > 12.0

然后把这个文件夹从那里移走解决了这个问题。

重命名ComponentModelCache文件夹在Visual Studio 2015中为我工作,但路径略有不同:

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

在Visual Studio 2013中重新安装c# IntelliJ IDEAReSharper后,我得到了这个错误。

首先,我得到了一个错误的问题与扩展,在这之后,我得到了这个错误:

"未找到与约束契约名称匹配的导出"

我只是删除了ComponentModelCache文件夹并解决了这个错误。

这真的会像冠军一样工作:

解决方案:尝试从下面的位置删除ComponentModelCache文件夹。

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

在成功删除之后,重新创建同名的文件夹“ComponentModelCache”。

我得到了一个错误与相同的错误消息-两年后。不过这次是一个不同的问题,与. net Core dnx有关

我在Stack Overflow上找不到答案,但有一个GitHub问题包含一个解决方案:https://github.com/aspnet/Home/issues/1455

下面是解决方案中最重要的部分:

  • 删除整个<代码>C:\Program Files (x86)\Microsoft Visual Studio14.0\Common7\IDE\Extensions\Microsoft\Web Tools\DNX目录。(据我所知,它属于旧版本的ASP。网络核心RC1,由于某种原因,即使Visual Studio 2015 Update-3)也仍然发布了RC1
  • 删除C:\Users\<user>\AppData\Local\Microsoft\VisualStudio\14.0\devenv.exe.config文件。
  • 以管理员身份运行Visual Studio 2015的开发人员命令提示符,执行devenv /setup命令。生成新的devenv.exe.config文件。的程序集李# 0目录。< / >
  • 运行Visual Studio 2015并检查它在Help => About Microsoft Visual Studio菜单中显示Microsoft . net Core Tools(预览2)14.1.20624.0。

感谢olegburov在GitHub上的帖子。

我的观点是:遵循以上所有的救生技巧,我的经历略有不同;我的是VS 2017社区版,安装了一次,我注意到有这三个文件夹:

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

这是一个有ComponentModelCache的:

%LocalAppData%\Microsoft\VisualStudio\15.0_7f0c75b0

仅删除Microsoft.VisualStudio.Default.cache没有效果。

所以,我删除了所有4个文件:.cache, .err, .external和catalogs。重新启动VS时,问题消失了,出现了第5个文件:

Microsoft.VisualStudio.Default.scan

去掉0号对我没用。重新安装VS 2019做到了感谢微软支持线程的建议。

细节

  • 这似乎是一个已知的错误,微软已经修复了(截至2020年7月1日)
  • 使用Visual Studio安装程序从VS2019 Pro 16.2(我想是?)升级到16.4.2后经验丰富
  • 试图启动nuget控制台和nuget包管理器时显示错误