今天早上,我在打开Visual Studio解决方案时遇到了一个问题,当我试图运行它时,它说:
没有找到与约束契约名称匹配的导出
我该如何解决这个问题?
今天早上,我在打开Visual Studio解决方案时遇到了一个问题,当我试图运行它时,它说:
没有找到与约束契约名称匹配的导出
我该如何解决这个问题?
当前回答
对于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
其他回答
这发生在我使用Visual Studio 2013 Web时,在Windows安装了几次更新之后。不幸的是,这篇文章中的建议都没有帮助。
我不得不重新运行安装程序并选择“修复”选项。在那之后(和重启),它又开始工作了。
在某些情况下,您可能需要修复多个版本的Visual Studio。例如,当你单击编辑脚本时,VS 2013中的脚本任务控件会打开VS 2012。
删除组件模型缓存对我不起作用(好吧,上面给出的相对目录在我的机器中不存在)。相反,我安装了Visual Studio 2012 Express的扩展。菜单工具→扩展和更新…→在线→任意选择然后下载。这显然使缓存无效,导致Visual Studio重新构建它。
这是我的消息来源。
在Visual Studio 2013中重新安装IntelliJ IDEA和ReSharper for c#后,我得到了这个错误。
首先,我得到了一个错误的问题与扩展,在这之后,我得到了这个错误:
"未找到与约束契约名称匹配的导出"
我只是删除了ComponentModelCache文件夹并解决了这个错误。
这个问题是因为MEF缓存损坏。 安装反馈扩展(或安装任何扩展)将使缓存无效,导致VS重新构建它。
点击查看源代码。
无需重命名或删除整个文件夹:
(%AppData%\..\Local\Microsoft\VisualStudio\11.0\ComponentModelCache)
只需重命名或删除上述位置中的Microsoft.VisualStudio.Default.cache文件。