今天早上,我在打开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 2012 Express的扩展。菜单工具→扩展和更新…→在线→任意选择然后下载。这显然使缓存无效,导致Visual Studio重新构建它。

这是我的消息来源。

重命名ComponentModelCache文件夹在Visual Studio 2015中为我工作,但路径略有不同:

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

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

Visual Studio Installer Projects extensions for VS 2013.

这对我很有效

这个问题是因为MEF缓存损坏。 安装反馈扩展(或安装任何扩展)将使缓存无效,导致VS重新构建它。

点击查看源代码。

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