CodeDomProvider.CompileAssemblyFromDom Method


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

 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



A CompilerParameters object that indicates the settings for the compilation.


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


A CompilerResults object that indicates the results of the compilation.


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

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



In the .NET Framework versions 1.0 and 1.1, this method is provided by the ICodeCompiler implementation that is returned by the CreateCompiler method of the provider. In version 2.0, this method can be called directly on the code provider even if it is not overridden by the code provider. If the code provider does not override this method, the ICodeCompiler implementation is called by the base class.


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

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