CodeDom上的“此平台不支持操作”

时间:2019-05-18 12:35:31

标签: c# .net-core codedom dynamic-language-runtime

我正在尝试从CodeDom CodeCompileUnit生产CIL组件。我了解不再支持CodeDom ,但出于各种原因,我仍需要使用它。将CodeCompileUnit编译为C#或VB.NET文件可以按预期工作,但是当我尝试编译为程序集DLL文件时,出现“此平台不支持该操作”。

我尝试更改CompilerParameters字段值(例如GenerateExecutable,GenerateInMemory),但还是一样。我不知道这是什么问题,但我仍然尝试过。我也尝试使用CodeDomProvider.CreateProvider("CSharp"),但还是一样。

这是我正在使用的代码:

p.ReferencedAssemblies.Add("System.dll");
p.OutputAssembly = Path.Combine(directory, "Abc.dll");
CompilerResults res = new CSharpCodeProvider().CompileAssemblyFromDom(p, compileUnit);

这是完整的错误消息:

Unhandled Exception: System.PlatformNotSupportedException: Operation is not supported on this platform.
   at Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames)
   at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromDomBatch(CompilerParameters options, CodeCompileUnit[] ea)

它应该输出Abc.dll文件,但是正如我所说,我遇到了错误。

0 个答案:

没有答案
相关问题