错误消息“找不到与约束合同名称匹配的导出”

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

找不到与约束合同名称匹配的导出

我该如何解决这个问题?

我通过清理Visual Studio组件模型caching来解决这个问题。

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

%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

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

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

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

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

Visual Studio Express 2012有不同的path。

Visual Studio Express

  • … \用户\ {用户} \应用程序数据\本地\微软\ WDExpress \ 11.0 \ ComponentModelCache

使用Visual Studio Express 2012 for Web

  • … \用户\ {用户} \应用程序数据\本地\微软\ VWDExpress \ 11.0 \ ComponentModelCache

我不必重新安装Visual Studio Express

删除组件模型caching对我不起作用(以及上面给出的相对目录在我的机器中不存在)。 什么是安装VS 2012 Express的扩展。 工具>扩展和更新…>在线>select任何然后下载。 这显然无效caching导致VS重build它。

这是我的来源 。

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

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

在Windows 7机器中,path是不同的。 当input%appdata% n RUN命令时,它将打开文件夹C:\Users\<username>\AppData\Roaming

点击“向上”button导航到父文件夹并select文件夹“本地”

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

感谢@Simon B.Robert

对于VS2013,您需要从该path中删除该文件夹

%APPDATA%.. \本地\微软\ VisualStudio的\ 12.0

对于Visual Studio 2012及更高版本,解决scheme必须删除文件夹ComponentModelCache的内容:

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

Visual Studio 2013

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

启动VS 2013 Ultimate时遇到了同样的问题。 这里的解决scheme并不适合我。 我试图删除提到的文件夹,并再次启动VS,但没有奏效。

不过,我也有其他的问题,像这样Microsoft.visual工作室包没有正确加载 ,也没有发现这个VS'2012年 。 后者在Team Explorer窗口中提到一条消息,说“找不到页面somenumber”。

所以我运行带有pipe理权限的VS命令提示符下的devenv /setup 。 它做了这个工作,现在一切都很好。

删除ComponentModelCache文件夹内容。

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

这真的就像一个冠军:

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

[C:] \ Users [你的用户名] \ AppData \ Local \ Microsoft \ VisualStudio [和版本号]

并成功删除后重新创build相同名称的文件夹“ComponentModelCache”。

清除文件夹不适合我。 所以我去了“程序和function”,并使用更改button来启动Visual Studio 2013安装程序。

在设置我select修复function,并为我解决了这个问题。

我有与Windows 8.1的Visual Studio Express 2013相同的问题。

不幸的是,中没有“ComponentModelCache”文件夹
%APPDATA%.. \本地\微软\ VisualStudio的\ 12.0 \ ComponentModelCache。

我在其中find了“ComponentModelCache”文件夹
.. \用户[名] \ AppData \本地\微软\ WDExpress \ 12.0

并通过从那里删除此文件夹解决了这个问题。

如果您有VS 2013,则必须转到: %LOCALAPPDATA%\ Microsoft \ VisualStudio \ 12.0,然后重命名ComponentModelCache文件夹。

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

在互联网上我有以下链接到微软KB:

Microsoft Visual Studio 2012更新(KB2781514)

它为我工作

重命名ComponentModelCache文件夹在Visual Studio 2015中适用于我,但是path略有不同:

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

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

C:\ Users \用户贾亚拉姆\应用程序数据\本地\微软\ VPDExpress \ 11.0

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

pipe理员:VS2012 X64 CrossToolsCommandPrompt

在Windows安装了几个更新之后,Visual Studio 2013 Web发生了这种情况。 不幸的是没有在这个线程的build议帮助。

我不得不重新运行安装程序并select“修复”选项。 之后(和重新启动),它再次工作。

我正在使用VS2012。 在安装了VS2013 web express之后,当我想运行或打开VS2012中的任何项目时,它显示出以下错误:“ 找不到与约束合同名称匹配的导出” 。 我也尝试清除ComponentModelCache上面的解决scheme,但我找不到该文件夹​​。 我只是解决了我的问题: 修复VS2012

编辑:对于该软件的Express版本,您需要的文件夹位置稍有不同:对于Express 2012 for Web,它是C:\ Users \ XXXXXXXX \ AppData \ Local \ Microsoft \ VWDExpress – 不在Visual Studio中夹。

此问题是由于MEFcaching损坏。 安装反馈扩展(或安装任何扩展)将使caching失效,导致VS重build它。

点击来源。

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

然后我浏览

C:\用户\ MyUserNameinput\应用程序数据\本地\微软\ VPDExpress \ 11.0 \ ComponentModelCache

和ComponentModelCache里面我删除了Microsoft.VisualStudio.Default.cache CACHE文件。 最后我重新启动视觉工作室,并重新打开我的项目。

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

注:我的操作系统是Windows 8.而我安装SDK 8开发Windows Phone应用程序

谢谢

我不得不卸载一些外部组件,如Postsharp和Apex,然后它的工作。 我也试过select的解决scheme,但它给了我更多的错误。

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

 Visual Studio Installer Projects extensions for VS 2013. 

它为我工作

在Visual Studio 13中重新安装intellij resharper c#后,我得到了这个错误。首先我得到了扩展错误问题,之后,我得到这个错误:“没有find匹配约束合同名称的导出”

只需删除文件夹ComponentModelCache并解决此错误。

我收到了同样的错误信息错误 – 两年后。 这次是一个不同的问题,但是.net核心DNN的事情。

我无法在stackoverflow上find答案,但在github问题中,它包含一个解决方法: https : //github.com/aspnet/Home/issues/1455

在变通办法的最重要部分下方:

  • 删除整个C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Web Tools \ DNX目录。 (据我所知,它属于旧版本的ASP.NET Core
    RC1,由于某些原因,即使在VS2015下仍然出货
    更新-3)。
  • 删除C:\ Users \ \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ devenv.exe.config文件。
  • 以pipe理员身份运行VS2015的开发人员命令提示符,并执行devenv / setup命令。 生成新的devenv.exe.config文件。 这次有很多程序集引用了
    C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ DotNet目录。
  • 运行VS 2015并检查它是否显示帮助中的Microsoft .NET Core Tools(Preview 2)14.1.20624.0 =>关于Microsoft Visual
    工作室菜单。

感谢olegburov在github上发表的文章。