您可以在常规 .net 应用程序中使用 Roslyn 编译器吗?

Can you use Roslyn compiler from a regular .net application?

我目前正在使用旧的 CSharp 编译器 (Microsoft.CSharp.CSharpCodeProvider),并且想升级我的应用程序以使用 Roslyn 编译器来利用所有新的语言功能。

查看 Nuget 包,似乎要在我的应用程序中使用 Roslyn 编译器在 运行 时编译代码,它需要是 .NET 标准库吗?

我看过很多关于如何在 运行 时使用 Roslyn 编译器的示例,但是,他们提到的所有包都不会安装在 .NET 4.5.2 项目中。

您必须至少以 .NET 4.6.1 为目标才能使用 .NET Standard 包。请参阅有关 .NET Standard 兼容性的文档 here