CSharpCodeProvider クラスを .NET 3.5 を使用するように設定すると、特定の参照 DLL を読み込もうとするとエラーが発生します。
Line number 0, Error Number: CS0006, 'Metadata file 'System.Linq.dll' could not be found;
Line number 0, Error Number: CS0006, 'Metadata file 'System.Collections.dll' could not be found;
問題は、2.0 に設定すると動作しますが、LINQ を使用できないことです。
現在、他のスレッドには、DLL が適切な場所にないためであるという解決策があり、次のような解決策を提供しています。
typeof(System.Xml.Linq.Extensions).Assembly.Location
Linq の場所を取得するには、プログラムの動作方法が原因で、どの DLL をロードする必要があるかわかりません。ユーザーは外部ライブラリの場所を入力する必要があるため、これは問題ではありませんが、システム dll の場合は、または だけで場所を取得できます"System.Linq"
か"System.Collections"
?