如何在Roslyn编译器中安装.Net Framework版本?

时间:2018-09-20 17:52:09

标签: c# roslyn

有一个问题,在编译动态代码时,我无法提供框架的版本。

这是编译代码:

using Microsoft.CodeDom.Providers.DotNetCompilerPlatform;
using System.CodeDom.Compiler;

private static readonly Dictionary<string, string> ProviderOptions = new Dictionary<string, string>
{
  { "CompilerVersion", "v4.0" }
};

using (var provider = new CSharpCodeProvider())
{
  .. setting compile
  CompilerResults ResultLog = provider.CompileAssemblyFromSource(Params, SourceCode);
}

我尝试添加如下内容:

using (var provider = new CSharpCodeProvider(ProviderOptions))

using (var provider = new CSharpCodeProvider((ICompilerSettings)ProviderOptions))

但是我得到了错误:

  

System.InvalidCastException:无法将对象类型“ System.Collections.Generic.Dictionary`2 [System.String,System.String]”带给类型“ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.ICompilerSettings”。

>

不同于CodeDom,由于某种原因它不可能放在Roslyn中,因此该版本如何解决?

0 个答案:

没有答案