Compartilhar via


CodeDomProvider.CompileAssemblyFromDom Método

Definição

Compila um assembly com base nas árvores System.CodeDom contidas na matriz especificada de objetos CodeCompileUnit, usando as configurações de compilador especificadas.

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

Parâmetros

options
CompilerParameters

Um objeto CompilerParameters que indica as configurações da compilação.

compilationUnits
CodeCompileUnit[]

Uma matriz do tipo CodeCompileUnit que indica o código a ser compilado.

Retornos

Um objeto CompilerResults que indica os resultados da compilação.

Exceções

Nem esse método nem o método CreateCompiler() são substituídos em uma classe derivada.

Somente .NET Core e .NET 5+: Em todos os casos.

Comentários

Observação

No .NET Framework versões 1.0 e 1.1, esse método é fornecido pela ICodeCompiler implementação retornada pelo CreateCompiler método do provedor. Na versão 2.0, esse método pode ser chamado diretamente no provedor de código, mesmo que não seja substituído pelo provedor de código. Se o provedor de código não substituir esse método, a ICodeCompiler implementação será chamada pela classe base.

Observação

No .NET Core e no .NET 5+, as chamadas para o CodeDomProvider.CompileAssemblyFromDom método lançam um PlatformNotSupportedException. Não há suporte para compilar código.

Notas aos Herdeiros

Se você substituir esse método, não deverá chamar o método correspondente da classe base. O método de classe base cria um gerador na classe derivada usando o método obsoleto CreateCompiler() para compatibilidade com provedores preexistentes que usam compiladores de código. Em seguida, o método de classe base chama o método equivalente na ICodeCompiler implementação para executar essa função. Você receberá um NotImplementedException se chamar o método de classe base de um provedor de código que não usa um compilador de código.

Aplica-se a

Confira também