Visual Studio 2013无法打开测试窗口。

20

当我打开 Visual Studio 2013 并加载我的解决方案时,会出现一个错误提示信息,告诉我测试窗口无法加载。

The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.

1) Cannot compose part 'Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal' because a cycle exists in the dependencies between the exports being composed. To break this cycle, consider changing some imports from constructor to property injection.
Element: Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal -->  Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal

Resulting in: Cannot get export 'Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal (ContractName="Microsoft.VisualStudio.TestWindow.Data.TestsService+ITestsServiceInternal")' from part 'Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal'.
Element: Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal (ContractName="Microsoft.VisualStudio.TestWindow.Data.TestsService+ITestsServiceInternal") -->  Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal

The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.

1) An operation is not legal in the current state. (Exception from HRESULT: 0x80131509)

Resulting in: An exception occurred while trying to create an instance of type 'Microsoft.VisualStudio.TestWindow.VsHost.TestWindowHost'.

Resulting in: Cannot activate part 'Microsoft.VisualStudio.TestWindow.VsHost.TestWindowHost'.
Element: Microsoft.VisualStudio.TestWindow.VsHost.TestWindowHost -->  Microsoft.VisualStudio.TestWindow.VsHost.TestWindowHost

Resulting in: Cannot get export 'Microsoft.VisualStudio.TestWindow.VsHost.TestWindowHost (ContractName="Microsoft.VisualStudio.TestWindow.Controller.IOpenResult")' from part 'Microsoft.VisualStudio.TestWindow.VsHost.TestWindowHost'.
Element: Microsoft.VisualStudio.TestWindow.VsHost.TestWindowHost (ContractName="Microsoft.VisualStudio.TestWindow.Controller.IOpenResult") -->  Microsoft.VisualStudio.TestWindow.VsHost.TestWindowHost

Resulting in: Cannot set import 'Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal..ctor (Parameter="openResult", ContractName="Microsoft.VisualStudio.TestWindow.Controller.IOpenResult")' on part 'Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal'.
Element: Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal..ctor (Parameter="openResult", ContractName="Microsoft.VisualStudio.TestWindow.Controller.IOpenResult") -->  Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal

Resulting in: Cannot get export 'Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal (ContractName="Microsoft.VisualStudio.TestWindow.Data.TestsService+ITestsServiceInternal")' from part 'Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal'.
Element: Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal (ContractName="Microsoft.VisualStudio.TestWindow.Data.TestsService+ITestsServiceInternal") -->  Microsoft.VisualStudio.TestWindow.Controller.TestsServiceInternal

Visual Studio无法运行测试。关闭并重新打开测试窗口会显示相同的错误。

4个回答

43

这似乎是由组件模型缓存中的损坏引起的。

关闭所有 Visual Studio 的实例,然后导航到文件夹并删除它。

%LOCALAPPDATA%\Microsoft\VisualStudio\12.0\ComponentModelCache

现在重新启动 Visual Studio,它应该可以正常工作了。


我在Visual Studio 2013中没有组件模型缓存。我该如何解决这个错误? - Nivetha
我遇到了同样的错误,尽管我已经有组件模型缓存,但是删除它并没有解决我的问题。 - Kelly Cline
2
我会将那个建议放入我的工具箱中。事实证明,在我清除了组件模型缓存并退出并重新启动VS之后,问题得到了解决。 - Kelly Cline
这对于我的Visual Studio 2015有效 - 将12.0替换为14.0。 - Martin Hollingsworth

1
我尝试了最佳答案(导航到文件夹并删除它。%LOCALAPPDATA%\Microsoft\VisualStudio\12.0\ComponentModelCache),但它没有起作用,但是,基于这种方法,我找到了适合我的解决方案:
导航到文件夹并删除它: %LOCALAPPDATA%\Microsoft\WDExpress\11.0\ComponentModelCache 希望我可以通过这种方式帮助一些人。

1
删除 solution.v12.suosolution.suo 也可以帮助解决问题。

0

只需关闭并重新打开Visual Studio(2015)即可解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接