在 C 中分析一個簡單的 Hello World 應用程式
使用 Main
方法中的一行建立一個新的控制檯應用程式:Console.WriteLine("Hello World")
記住 .csproj
檔案的路徑並在示例中替換它。
建立一個新的控制檯應用程式並安裝 Microsoft.CodeAnalysis
NuGet 包並嘗試以下程式碼:
const string projectPath = @"C:\HelloWorldApplication\HelloWorldProject.csproj";
// Creating a build workspace.
var workspace = MSBuildWorkspace.Create();
// Opening the Hello World project.
var project = workspace.OpenProjectAsync(projectPath).Result;
// Getting the compilation.
var compilation = project.GetCompilationAsync().Result;
foreach (var tree in compilation.SyntaxTrees)
{
Console.WriteLine(tree.FilePath);
var rootSyntaxNode = tree.GetRootAsync().Result;
foreach (var node in rootSyntaxNode.DescendantNodes())
{
Console.WriteLine($" *** {node.Kind()}");
Console.WriteLine($" {node}");
}
}
Console.ReadKey();
這將列印的所有檔案和所有的語法節點在你的 Hello World 專案。