Condividi tramite


CodeDomProvider.CompileAssemblyFromDom Metodo

Definizione

Compila un assembly in base alle strutture ad albero System.CodeDom contenute nella matrice di oggetti CodeCompileUnit specificata utilizzando le impostazioni del compilatore specificato.

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

Parametri

options
CompilerParameters

Oggetto CompilerParameters che indica le impostazioni per la compilazione.

compilationUnits
CodeCompileUnit[]

Matrice di tipo CodeCompileUnit che indica il codice da compilare.

Restituisce

Oggetto CompilerResults che indica i risultati della compilazione.

Eccezioni

Né questo metodo né il metodo CreateCompiler() vengono sottoposti a override in una classe derivata.

Solo .NET Core e .NET 5+: In tutti i casi.

Commenti

Nota

In .NET Framework versioni 1.0 e 1.1, questo metodo viene fornito dall'implementazione ICodeCompiler restituita dal CreateCompiler metodo del provider. Nella versione 2.0 questo metodo può essere chiamato direttamente nel provider di codice anche se non viene sottoposto a override dal provider di codice. Se il provider di codice non esegue l'override di questo metodo, l'implementazione ICodeCompiler viene chiamata dalla classe base.

Nota

In .NET Core e .NET 5+, le chiamate al CodeDomProvider.CompileAssemblyFromDom metodo generano un PlatformNotSupportedExceptionoggetto . Il codice di compilazione non è supportato.

Note per gli eredi

Se si esegue l'override di questo metodo, non è necessario chiamare il metodo corrispondente della classe base. Il metodo di classe base crea un generatore nella classe derivata usando il metodo obsoleto CreateCompiler() per la compatibilità con provider preesistenti che usano compilatori di codice. Il metodo di classe base chiama quindi il metodo equivalente nell'implementazione ICodeCompiler per eseguire questa funzione. Si otterrà un NotImplementedException se si chiama il metodo di classe base da un provider di codice che non usa un compilatore di codice.

Si applica a

Vedi anche