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.

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

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

Product Versions
.NET 8 (package-provided), 9 (package-provided)
.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 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also