今天早上,我在打开Visual Studio解决方案时遇到了一个问题,当我试图运行它时,它说:
没有找到与约束契约名称匹配的导出
我该如何解决这个问题?
今天早上,我在打开Visual Studio解决方案时遇到了一个问题,当我试图运行它时,它说:
没有找到与约束契约名称匹配的导出
我该如何解决这个问题?
当前回答
这个问题是因为MEF缓存损坏。 安装反馈扩展(或安装任何扩展)将使缓存无效,导致VS重新构建它。
点击查看源代码。
其他回答
我在Windows 8.1的Visual Studio Express 2013上也遇到了同样的问题。
不幸的是,没有“ComponentModelCache”文件夹 当地% AppData % . . \ \ Microsoft \ VisualStudio \ 12.0 \ ComponentModelCache。
我找到了“ComponentModelCache”文件夹 . . \用户【用户名】微软\ AppData \当地\ \ WDExpress \ 12.0
然后把这个文件夹从那里移走解决了这个问题。
这发生在我使用Visual Studio 2013 Web时,在Windows安装了几次更新之后。不幸的是,这篇文章中的建议都没有帮助。
我不得不重新运行安装程序并选择“修复”选项。在那之后(和重启),它又开始工作了。
在某些情况下,您可能需要修复多个版本的Visual Studio。例如,当你单击编辑脚本时,VS 2013中的脚本任务控件会打开VS 2012。
我通过清除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可能会有所帮助。
在启动Visual Studio 2013 Ultimate时,我遇到了同样的问题,这里的解决方案对我不起作用。我试着删除上述文件夹并重新启动Visual Studio,但它不起作用。
然而,我也遇到了其他问题,比如微软。visual studio包没有正确加载,页面“312e8a59-2712-48a1-863e-0ef4e67961fc”没有找到VS 2012。后者指的是团队资源管理器窗口中的一条消息,说“无法找到页面‘somenumber’”。
因此,我以管理权限在Visual Studio命令提示符上运行devenv /setup。它成功了,现在一切都好了。
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