CodeDomProvider.CompileAssemblyFromDom 方法

定義

使用指定的編譯器設定,根據 System.CodeDom 物件之指定陣列所包含的 CodeCompileUnit 樹狀結構,編譯一個組件。

C#
public virtual System.CodeDom.Compiler.CompilerResults CompileAssemblyFromDom (System.CodeDom.Compiler.CompilerParameters options, params System.CodeDom.CodeCompileUnit[] compilationUnits);

參數

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

適用於

產品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另請參閱