編輯

共用方式為


CodeDomProvider.CompileAssemblyFromDom Method

Definition

Compiles an assembly based on the System.CodeDom trees contained in the specified array of CodeCompileUnit objects, using the specified compiler settings.

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

Parameters

options
CompilerParameters

A CompilerParameters object that indicates the settings for the compilation.

compilationUnits
CodeCompileUnit[]

An array of type CodeCompileUnit that indicates the code to compile.

Returns

A CompilerResults object that indicates the results of the compilation.

Exceptions

Neither this method nor the CreateCompiler() method is overridden in a derived class.

.NET Core and .NET 5+ only: In all cases.

Remarks

Important

On .NET Core and .NET 5+, calls to the CodeDomProvider.CompileAssemblyFromDom method throw a PlatformNotSupportedException. Compile code is not supported.

Note

In .NET Framework 2.0 and later versions, this method can be called directly on the code provider even if it's not overridden by the code provider. If the code provider does not override this method, the ICodeCompiler implementation is called by the base class.

Notes to Inheritors

If you override this method, you must not call the corresponding method of the base class. The base-class method creates a generator in the derived class using the obsolete CreateCompiler() method for compatibility with preexisting providers that use code compilers. The base-class method then calls the equivalent method in the ICodeCompiler implementation to perform this function. You will get a NotImplementedException if you call the base-class method from a code provider that does not use a code compiler.

Applies to

See also