Roslyn:如何加载 Visual Studio 之外的现有项目

Roslyn: How to load an existing project outside of Visual Studio

正如这个问题所写:

您不能使用同一项目的 MSBuild 任务中的 MSBuildWorkspace。但是,仅有的 2 个其他选项是 VisualStudioWorkspaceAdhocWorkspace

这是否意味着没有从 MSBuild 任务加载项目的选项?

您可以使用 CommandLineProject.CreateProjectInfo 从一组命令行参数创建项目,因此如果您有 csc 命令行,则可以使用它。

我刚刚在 post 中找到了解决方案: Roslyn: workspace loads in console application but not in msbuild task

它仍然感觉是一种解决方法,但它确实有效。它实际上有一个好处,因为不必再编译项目来加载项目!