1

我正在尝试使用 VBCodeProvider 来动态编译程序集。我遇到的问题是我需要为 CompilerParameters 类提供一个引用程序集的列表。

正在使用的代码是这样的:

CompilerParameters parameters = new CompilerParameters();
parameters.ReferencedAssemblies.AddRange(AppDomain.CurrentDomain.GetAssemblies().Select(a => a.Location).ToArray());
parameters.GenerateExecutable = false;
parameters.GenerateInMemory = true;
parameters.IncludeDebugInformation = false;

CodeDomProvider provider = new Microsoft.VisualBasic.VBCodeProvider();

// Compile the assembly in memory.
CompilerResults results = provider.CompileAssemblyFromDom(parameters, compileUnit);

问题是当该provider.CompileAssemblyFromDom行运行时,它会产生以下错误:

vbc : Command line (0,0) : error BC2006: option 'r' requires':<file_list>'

但是,如果我使用 CSharpCodeProvider

provider = new Microsoft.VisualBasic.CSharpCodeProvider();

一切正常。

这是一个已知的错误VBCodeProvider吗?

4

0 回答 0