Используя поставщика кода С# и метода ICodeCompiler.CompileAssemblyFromSource
, я пытаюсь скомпилировать файл кода, чтобы создать исполняемую сборку.
В коде, который я хотел бы скомпилировать, используются такие функции, как необязательные параметры и методы расширения, которые доступны только при использовании языка С# 4.
Сказав, что код, который я хотел бы компилировать, требует (и потребностей) для целевой версии 2.0.NET Framework.
Используя исходящий код, можно избежать любых ошибок времени компиляции, относящихся к синтаксису, однако результирующая сборка будет нацелена на версию 4.0 рамки, которая нежелательна.
var compiler = new CSharpCodeProvider(
new Dictionary<string, string> { { "CompilerVersion", "v4.0" } } );
Как я могу сделать так, чтобы поставщик кода нацелился на язык версии 4.0, но создал сборку, для которой требуется только версия 2.0 фреймворка?