C# 将Roslyn编译器与MSBuild一起使用

C# 将Roslyn编译器与MSBuild一起使用,c#,msbuild,containers,roslyn,C#,Msbuild,Containers,Roslyn,我正在尝试将TFS服务器替换为将使用msbuild处理所有生成的。我试图编译的项目是一个C#.Net框架网站,它只有一个解决方案文件,没有项目文件。web.config中有部分,这些部分需要以Roslyn编译器为目标,以利用C#6语法。但是,由于我没有使用Visual Studio编译应用程序,因此在执行nuget restore命令时,bin/Roslyn文件夹中所需的文件永远不会恢复。如果没有恢复这些文件,我将收到错误消息 错误ASPCONFIG:找不到CodeDom提供程序类型“Micro

我正在尝试将TFS服务器替换为将使用msbuild处理所有生成的。我试图编译的项目是一个C#.Net框架网站,它只有一个解决方案文件,没有项目文件。web.config中有
部分,这些部分需要以Roslyn编译器为目标,以利用C#6语法。但是,由于我没有使用Visual Studio编译应用程序,因此在执行
nuget restore
命令时,bin/Roslyn文件夹中所需的文件永远不会恢复。如果没有恢复这些文件,我将收到错误消息

错误ASPCONFIG:找不到CodeDom提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,Microsoft.CodeDom.Providers.DotNetCompilerPlatform,Version=1.0.7.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”

由于构建工具是针对visual studio 2017的,我认为gac可能具有c#6语法所需的DLL和可执行文件,因此我删除了
部分,并尝试再次编译,但只收到插值语法的
$
的编译错误

我读过几篇博客文章,其中有人成功地从nuget安装了编译器包,但我相信,因为我的解决方案没有项目文件,所以跳过了通常有助于恢复bin/roslyn文件夹中刷新文件的提示和目标

如何让msbuild使用正确的编译器并使所需的DLL可用,而无需生成项目文件