有没有办法列出解决方案中的所有项目,包括每个项目的输出类型?
答案 0 :(得分:1)
在独立程序中有一种更具编程性的方法,它不依赖于所安装的任何外部程序。
在Roslyn及其Workspace API的帮助下,您可以加载解决方案文件,枚举包含的项目,并检索每个项目的输出类型。
将需要以下NuGet包:
代码看起来像这样:
string slnFilePath = "..."; // path to SLN file
MSBuildWorkspace workspace = MSBuildWorkspace.Create();
var solution = workspace.OpenSolutionAsync(slnFilePath).Result;
foreach (var project in solution.Projects)
{
Console.WriteLine($"{project.Name} : {project.CompilationOptions.OutputKind}");
}
其中OutputKind
的枚举定义如下:
public enum OutputKind
{
ConsoleApplication,
WindowsApplication,
DynamicallyLinkedLibrary,
NetModule,
WindowsRuntimeMetadata,
WindowsRuntimeApplication,
}