我正在尝试在我的 C# 项目中动态编译一些 VB 代码,但我遇到了 VBCodeProvider 的问题。它似乎没有兑现我放入 providerOptions 字典中的 OptionInfer 标志。
我的代码如下所示:
var providerOptions = new Dictionary<string, string>();
providerOptions.Add("CompilerVersion", "v3.5");
providerOptions.Add("OptionInfer", "True");
var provider = new VBCodeProvider(providerOptions);
我将 CompilerParameters.TreatWarningsAsErrors 设置为 True,然后出现以下错误:
没有“As”子句的变量声明;假定的对象类型。
但是,当我将“Option Infer On”文本放在动态源代码的顶部时,一切都很好。
任何人都可以解释一下吗?我是否使用了错误的 providerOptions 键或值?其他地方有其他设置吗?