2009-06-23 14 views
1

C#プロジェクトでVBコードを動的にコンパイルしようとしていますが、VBCodeProviderの問題が発生しています。私がproviderOptions Dictionaryに入れているOptionInferフラグを尊重しているようではありません。私はTrueに私のCompilerParameters.TreatWarningsAsErrorsを設定し、私は次のエラーを取得するVBCodeProviderはproviderOptionsのOptionInferを尊重しませんか?

var providerOptions = new Dictionary<string, string>(); 
providerOptions.Add("CompilerVersion", "v3.5"); 
providerOptions.Add("OptionInfer", "True"); 
var provider = new VBCodeProvider(providerOptions); 

Variable declaration without an 'As' clause; type of Object assumed.

私は "を入れたときしかし、すべてが順調である

私のコードは次のようになりますOption Infer On "というテキストを動的ソースコードの一番上に表示します。

誰でも光を当てることはできますか?間違ったproviderOptionsキーまたは値を使用していますか?他にもいくつかの設定がありますか?

答えて

1

回答が不足しているため、Reflectorを調べて何が起こっているのかを確認し、CompilerVersionが(RedistVersionInfo.GetCompilerPathメソッドで)参照されている唯一のプロバイダオプションであることが判明しました。

代わりにCompilerParameters.CompilerOptionsメンバを使用して、このサンプルを動作させることができました。

の場合、私はすべての耳です。

+0

ILSpyでチェックされていますが、まだ4.0では実装されていません – Recep

関連する問題