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+:適用於所有情況。

備註

Important

在 .NET Core 和 .NET 5+ 中,呼叫 CodeDomProvider.CompileAssemblyFromDom 方法會拋出 PlatformNotSupportedException。 不支援編譯程式碼。

Note

在 .NET Framework 2.0 及後續版本中,即使程式碼提供者未覆蓋此方法,也能直接呼叫此方法。 若程式碼提供者未覆寫此方法,基底類別會呼叫實 ICodeCompiler 作。

給繼承者的注意事項

如果你覆寫此方法,則不得呼叫基底類別對應的方法。 基底類別方法在衍生類別中建立一個產生器,使用過 CreateCompiler() 時的方法,以與使用程式碼編譯器的既有提供者相容。 基底類別方法接著呼叫實作中的 ICodeCompiler 對應方法來執行此函式。 如果你從不使用程式碼編譯器的程式碼提供者呼叫基底類方法,你會得到一個NotImplementedException

適用於

另請參閱