Исходный код вики Использование

Редактировал(а) Alexandr Fokin 2023/07/02 10:54

Скрыть последних авторов
Alexandr Fokin 1.1 1 {{code language="c#"}}
2 //Nuget:
3 //Microsoft.CodeAnalysis
4 //Microsoft.CodeAnalysis.Common
5 //Microsoft.CodeAnalysis.Workspaces.Common
6 //Microsoft.CodeAnalysis.Workspaces.MSBuild
7 //Microsoft.Build.Locator
8
9 MSBuildLocator.RegisterDefaults();
10
11 using (var msWorkspace = MSBuildWorkspace.Create())
12 {
13 msWorkspace.WorkspaceFailed += (object sender, WorkspaceDiagnosticEventArgs e) =>
14 {
15 //loadSolutionError = e;
16 //Error handler
17 };
18
19 var solution = await msWorkspace.OpenSolutionAsync(solutionPath);
20 var projects = solution.Projects;
21
Alexandr Fokin 3.2 22 // ...
Alexandr Fokin 1.1 23 }
24
25 {{/code}}
Alexandr Fokin 2.1 26
27
Alexandr Fokin 3.2 28 * Для исследования кода можно использовать либо Visitor (CSharpSyntaxRewriter), либо получение списка всех синтаксических выражений в документе.
Alexandr Fokin 3.1 29 * Для использования механизма поиска ссылок используется класс Microsoft.CodeAnalysis.FindSymbols.SymbolFinder.
Alexandr Fokin 2.1 30
31 DustinCampbell/using-msbuildworkspace.md
32 https://gist.github.com/DustinCampbell/32cd69d04ea1c08a16ae5c4cd21dd3a3