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

没有找到与约束契约名称匹配的导出

我该如何解决这个问题?


当前回答

这真的会像冠军一样工作:

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

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

在成功删除之后,重新创建同名的文件夹“ComponentModelCache”。

其他回答

删除组件模型缓存对我不起作用(好吧,上面给出的相对目录在我的机器中不存在)。相反,我安装了Visual Studio 2012 Express的扩展。菜单工具→扩展和更新…→在线→任意选择然后下载。这显然使缓存无效,导致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

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

对于Visual Studio 2013,你需要从这个路径中删除该文件夹:

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

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

然后我浏览到

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

在ComponentModelCache中,我删除了Microsoft.VisualStudio.Default.cache缓存文件。最后,我重新启动了visual studio并重新启动了我的项目。

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

注意:我的操作系统是windows 8。我安装了SDK 8来开发windows phone应用程序

谢谢