0
Roslyn과 함께 Visual Studio 솔루션을 열어 프로젝트 및 문서를 반복하려고합니다. 나는 무엇이든 쓰고 싶지 않다. NewSolution.Projects.count 아래의 코드는 항상 0입니다. 결국 중요한 것은 각 문서에 대한 SemanticModel을 얻고 자합니다.Roslyn을 사용하여 Visual Studio 솔루션 열기
Const SolutionPartialPath As String = "Visual Studio 2017\Projects\roslyn-master\src\Samples\Samples.sln"
<TestMethod()> Public Sub UnitTest1()
Dim myDoc As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments
Dim SampleSolutionPath As String = Path.Combine(myDoc, SolutionPartialPath)
Dim WS As AdhocWorkspace = New AdhocWorkspace()
Dim SolInfo As SolutionInfo = SolutionInfo.Create(SolutionId.CreateNewId, VersionStamp.Create, SampleSolutionPath)
Dim NewSolution As Solution = WS.AddSolution(SolInfo)
For Each project As Project In NewSolution.Projects
Debug.WriteLine(project.Name)
If project.Name = "BasicAnalyzers" Then
For Each document In project.Documents
Debug.WriteLine(document.Name)
ProcessOneFile(document)
Next document
End If
Next project
End Sub
감사합니다. 솔루션을 열어서 프로젝트를 반복 할 수 있지만 문서가 없습니다. WS.OpenProjectAsync (project.FilePath) .Result를 보았지만 이미 Workspace에있는 Document에 대한 오류가 발생했습니다. –
프로그램이 올바른 것처럼 보입니다. 문제는 "SDK 'Microsoft.NET.Sdk'을 (를) 찾을 수 없습니다." AddHandler MS_Workspace.WorkspaceFailed, Sub (보낸 사람 Object, e As WorkspaceDiagnosticEventArgs)를 추가하지 않으면 표시되지 않습니다. 이제 그 문제를 해결해야합니다. –