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

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

我该如何解决这个问题?


当前回答

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

%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

其他回答

Visual Studio Express 2012有不同的路径。

Visual Studio Express

... \ {user} \ \用户微软当地AppData \ \ \ WDExpress \ \ ComponentModelCache 11级左右

使用Visual Studio Express 2012 for Web

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

我不需要重新安装Visual Studio Express

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

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

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

管理员:VS2012 X64 CrossToolsCommandPrompt

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

Visual Studio Installer Projects extensions for VS 2013.

这对我很有效

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

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

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

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

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

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

%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache

or

%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可能会有所帮助。