CodeDomProvider.CompileAssemblyFromDom Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Компилирует сборку на основе деревьев System.CodeDom, содержащихся в указанном массиве объектов CodeCompileUnit, используя указанные параметры компилятора.
public:
virtual System::CodeDom::Compiler::CompilerResults ^ CompileAssemblyFromDom(System::CodeDom::Compiler::CompilerParameters ^ options, ... cli::array <System::CodeDom::CodeCompileUnit ^> ^ compilationUnits);
public virtual System.CodeDom.Compiler.CompilerResults CompileAssemblyFromDom (System.CodeDom.Compiler.CompilerParameters options, params System.CodeDom.CodeCompileUnit[] compilationUnits);
abstract member CompileAssemblyFromDom : System.CodeDom.Compiler.CompilerParameters * System.CodeDom.CodeCompileUnit[] -> System.CodeDom.Compiler.CompilerResults
override this.CompileAssemblyFromDom : System.CodeDom.Compiler.CompilerParameters * System.CodeDom.CodeCompileUnit[] -> System.CodeDom.Compiler.CompilerResults
Public Overridable Function CompileAssemblyFromDom (options As CompilerParameters, ParamArray compilationUnits As CodeCompileUnit()) As CompilerResults
Параметры
- options
- CompilerParameters
Объект CompilerParameters, задающий параметры компиляции.
- compilationUnits
- CodeCompileUnit[]
Массив типа CodeCompileUnit, указывающий код для компиляции.
Возвращаемое значение
Объект CompilerResults, показывающий результаты компиляции.
Исключения
В производном классе нельзя переопределить ни этот метод, ни метод CreateCompiler().
Только .NET Core и .NET 5+: Во всех случаях.
Комментарии
Примечание
В платформа .NET Framework версий 1.0 и 1.1 этот метод предоставляется реализациейICodeCompiler, возвращаемой CreateCompiler методом поставщика. В версии 2.0 этот метод можно вызывать непосредственно в поставщике кода, даже если он не переопределен поставщиком кода. Если поставщик кода не переопределяет этот метод, ICodeCompiler реализация вызывается базовым классом.
Примечание
В .NET Core и .NET 5+ вызовы CodeDomProvider.CompileAssemblyFromDom
метода вызывают исключение PlatformNotSupportedException. Компилировать код не поддерживается.
Примечания для тех, кто наследует этот метод
При переопределении этого метода не следует вызывать соответствующий метод базового класса. Метод базового класса создает генератор в производном классе, используя устаревший CreateCompiler() метод для обеспечения совместимости с уже существовающими поставщиками, которые используют компиляторы кода. Затем метод базового класса вызывает эквивалентный метод в ICodeCompiler реализации для выполнения этой функции. Вы получите при NotImplementedException вызове метода базового класса из поставщика кода, который не использует компилятор кода.