首页 文章

错误消息“未找到与约束 Contract 名称匹配的导出”

提问于
浏览
1031

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

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

我该如何解决这个问题?

24 回答

  • 4

    在Windows安装了几个更新之后,Visual Studio 2013 Web就发生了这种情况 . 不幸的是,这个帖子中没有任何建议有帮助 .

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

    在某些情况下,您可能必须修复多个版本的Visual Studio . 例如,当您单击“编辑脚本”时,VS 2013中的“脚本任务”控件将打开VS 2012 .

  • 1

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

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

    我在Windows 8.1的Visual Studio Express 2013中遇到了同样的问题 .

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

    我找到了"ComponentModelCache"文件夹
    .. \用户[名] \ AppData \本地\微软\ WDExpress \ 12.0

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

  • 2104

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

  • 6

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

    在Internet上,我获得了以下Microsoft知识库文章的链接:

    Update for Microsoft Visual Studio 2012 (KB2781514)

    它对我有用 .

  • 3

    我通过清除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

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

  • 8

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

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

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

  • 10

    Visual Studio Express 2012具有不同的路径 .

    Visual Studio Express

    • ... \ Users \ \ AppData \ Local \ Microsoft \ WDExpress \ 11.0 \ ComponentModelCache

    With Visual Studio Express 2012 for Web

    • ... \ Users \ \ AppData \ Local \ Microsoft \ VWDExpress \ 11.0 \ ComponentModelCache

    我没有必要重新安装Visual Studio Express

  • 2

    这真的会像冠军一样:

    解决方案:尝试从以下位置删除ComponentModelCache文件夹 .

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

    删除成功后,重新创建具有相同名称的文件夹“ComponentModelCache” .

  • 141

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

    这是我的source .

  • 12

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

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

    在Windows 7计算机上,路径不同 . 在“运行”对话框中键入 %appdata% 时,将打开文件夹 C:\Users\<username>\AppData\Roaming .

    单击“向上”按钮导航到父文件夹,然后选择“本地”文件夹 .

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

  • 9

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

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

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

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

    Visual Studio 2013

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

    我在启动Visual Studio 2013 Ultimate时遇到了同样的问题,这里的解决方案对我不起作用 . 我尝试删除提到的文件夹并再次启动Visual Studio,但它不起作用 .

    但是我也有其他问题,比如Microsoft.visual studio package did not load correctlyPage '312e8a59-2712-48a1-863e-0ef4e67961fc' not found VS 2012 . 后者引用团队资源管理器窗口中的一条消息,说"Page 'somenumber' cannot be found" .

    所以我在具有管理权限的Visual Studio命令提示符下运行 devenv /setup . 它完成了这项工作,现在一切都很好 .

  • 2

    删除 ComponentModelCache 文件夹内容 .

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

    清除文件夹对我不起作用 . 所以我转到“程序和功能”并使用更改按钮启动Visual Studio 2013安装程序 .

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

  • 31

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

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

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

    管理员:VS2012 X64 CrossToolsCommandPrompt

  • 28

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

    “未找到与约束 Contract 名称匹配的导出” .

    我也尝试了上面的清除 ComponentModelCache 的解决方案,但我找不到该文件夹 . 我只是通过以下方式解决了我的问题: Repair Visual Studio 2012

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

  • 27

    此问题是由于MEF缓存损坏 . 安装反馈扩展(或安装任何扩展)将使缓存无效,从而导致VS重建它 .

    click for source.

  • 20

    我在尝试打开文件时在Microsoft Visual Studio Express 2012 for Windows手机中遇到此问题 .

    然后我浏览了

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

    在ComponentModelCache里面我删除了Microsoft.VisualStudio.Default.cache CACHE文件 . 最后我重新启动了visual studio并重新打开了我的项目 .

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

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

    谢谢

  • 15

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

  • 7

    删除文件夹对我来说没有用,我已经去控制面板并修复了

    Visual Studio Installer Projects extensions for VS 2013.
    

    它对我有用

  • 1

    两年后,我收到同样错误消息的错误 . 这次是一个不同的问题,与.NET Core dnx有关 .

    我在Stack Overflow上找不到答案,但在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,由于某些原因,即使使用Visual Studio 2015 Update-3,它仍然出货) . 删除C:\ Users \ <用户> \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ devenv.exe.config文件 . 以管理员身份运行Visual Studio 2015的开发人员命令提示符,然后执行devenv / setup命令 . 生成新的devenv.exe.config文件 . 这次有许多程序集引用C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ DotNet目录 . 运行Visual Studio 2015并检查它是否在帮助=>关于Microsoft Visual Studio菜单中显示Microsoft .NET核心工具(预览2)14.1.20624.0 .

    感谢Olegburov在GitHub上发布的帖子 .

  • 0

    在Visual Studio 2013中为C#重新安装IntelliJ IDEAReSharper后出现此错误 .

    首先,我遇到了扩展的错误问题,之后我收到了这个错误:

    “未找到与约束 Contract 名称匹配的导出”

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

相关问题