2017-04-03 380 views
1

我有一個可以在VS2015中正常工作的解決方案,我無法用新版本的Visual Studio 2017(15.0.0 + 26228.12)打開該解決方案。當打開某些解決方案時,Visual Studio 2017崩潰

這似乎是根據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() 

的解決方案是相當複雜,用文本編輯器將其更改爲發現導致此問題的感覺就像尋找一個大海撈針項目。

有人知道這個錯誤,並可以指向正確的方向嗎?也許我必須看看我的解決方案中的某個部分才能找到錯誤?

+0

向MS報告可能是更好的選擇。點擊幫助 - >種子反饋 - >報告問題。在新窗口中,搜索'解決方案崩潰'。有很多類似的投訴。搜索'transitively',你會看到一個相同的問題(不固定) – qxg

回答

0

我通過在解決方案中慢慢搜索有問題的項目,然後刪除傳遞引用來解決問題。

首先,我在文本編輯器(如Notepad ++)中打開了解決方案,並刪除了一堆項目。然後我在VS2017中打開了解決方案,看看它是否再次崩潰。如果它沒有崩潰,我發現可能有問題的項目邊際。之後,我通過文本編輯器在解決方案之後添加了一個項目。每當我這樣做時,我都必須重新啓動VS2017以查看它是否再次崩潰。

當我發現有問題的項目後,我在VS2015中打開了未修改的解決方案,並查看了此項目的參考資料。就我而言,很容易看出哪些參考是有問題的。在我刪除了這個有問題的參考文獻後,該項目在VS2017中沒有任何問題。

相關問題