59

当我在 VS2012 中打开我的项目时,出现错误

未找到与约束匹配的导出:

ContractName
Microsoft.VisualStudio.Utilities.IContentTypeRegistryService
RequiredTypeIdentity
Microsoft.VisualStudio.Utilities.IContentTypeRegistryService

请在继续之前更正。(您可以重命名当前的 web.config 并添加一个新的)。

为什么会发生这种情况,有人可以提出解决方案吗?

4

3 回答 3

157

我通过清除 Visual Studio 组件模型缓存解决了这个问题。只需删除或重命名此文件夹:

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

或者,对于 Visual Studio 2013:

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

于 2013-10-09T08:09:22.690 回答
14

我已经用更新解决了这个问题:

http://www.microsoft.com/en-in/download/confirmation.aspx?id=36020#

我在 Windows 8.1 和 Visual Studio 2012 上。

于 2013-10-18T07:05:07.403 回答
13

我遇到了类似的问题,发现这个解决方案就像魔术一样。步骤在这里:

  • 从以下位置删除 ComponentModelCache 文件夹:

C:\Users\\AppData\Local\Microsoft\VisualStudio\11.0

  • 确保将其替换为您电脑上的真实用户名。

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

  • 万一它给出了任何权限问题,一个一个删除剩余的文件/文件夹可以很好地工作。

当您尝试在 Visual Studio 中创建项目时,该错误不再存在。

于 2014-03-26T15:24:34.257 回答