VBCodeProviderはproviderOptionsのOptionInferを尊重しませんか?
-
10-07-2019 - |
質問
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」のない変数宣言 句;想定されるオブジェクトのタイプ。
ただし、&quot; Option Infer On&quot;動的ソースコードの上部にあるテキスト。
誰でも光を当てることができますか?間違ったproviderOptionsキーまたは値を使用していますか?他の場所に他の設定はありますか?
解決
回答がないため、Reflectorを調べて何が起こっているかを確認することにしましたが、(RedistVersionInfo.GetCompilerPathメソッドで)参照される唯一のプロバイダーオプションがCompilerVersionであることがわかりました。
代わりにCompilerParameters.CompilerOptionsメンバーを使用して、サンプルを動作させることができました。
それを行う方法がある場合、私はすべて耳です。
所属していません StackOverflow