打开某些解决方案时,Visual Studio 2017崩溃

时间:2017-04-03 08:20:31

标签: visual-studio visual-studio-2017

我有一个在VS2015中运行良好的解决方案,我无法使用新版本的Visual Studio 2017(15.0.0 + 26228.12)打开。

根据Windows"事件查看器"这似乎是问题:该项目已经可传递地引用目标项目。

这里是完整的堆栈跟踪:

StreamJsonRpc.RemoteInvocationException: The project already transitively references the target project.
   bei Microsoft.CodeAnalysis.SolutionState.CheckNotContainsTransitiveReference(ProjectId fromProjectId, ProjectId toProjectId)
   bei Microsoft.CodeAnalysis.SolutionState.AddProjectReference(ProjectId projectId, ProjectReference projectReference)
   bei Microsoft.CodeAnalysis.Solution.AddProjectReference(ProjectId projectId, ProjectReference projectReference)
   bei Microsoft.CodeAnalysis.Project.AddProjectReference(ProjectReference projectReference)
   bei Microsoft.CodeAnalysis.Workspace.UpdateReferencesAfterAdd(Solution solution)
   bei Microsoft.CodeAnalysis.Workspace.UpdateReferencesAfterAdd()
   bei Microsoft.CodeAnalysis.Remote.RemoteWorkspace.AddSolution(SolutionInfo solutionInfo)
   bei Microsoft.CodeAnalysis.Remote.SolutionService.<UpdatePrimaryWorkspace_NoLockAsync>d__11.MoveNext()

解决方案非常复杂,并使用文本编辑器进行更改,以找到导致问题的项目,就像在大海捞针一样。

有人知道这个错误并且可以指出我正确的方向吗?也许我必须在我的解决方案中查看某个部分才能找到错误?

1 个答案:

答案 0 :(得分:1)

我通过在解决方案中慢慢搜索有问题的项目然后删除可传递的引用来解决问题。

首先,我在文本编辑器(如Notepad ++)中打开了解决方案并删除了一堆项目。然后我在VS2017中打开了解决方案,看它是否再次崩溃。如果它没有崩溃,我发现可能存在问题的项目边际。之后,我通过文本编辑器在解决方案中添加了一个项目。每次我这样做,我都必须重新启动VS2017以查看它是否再次崩溃。

在确定有问题的项目后,我在VS2015中打开了未经修改的解决方案,并查看了该项目的参考资料。在我的情况下,很容易看出哪些参考有问题。删除这个有问题的引用后,项目在VS2017中打开没有问题。