CodeDomProvider.CompileAssemblyFromSource Method


Compiles an assembly from the specified array of strings containing source code, using the specified compiler settings.

 virtual System::CodeDom::Compiler::CompilerResults ^ CompileAssemblyFromSource(System::CodeDom::Compiler::CompilerParameters ^ options, ... cli::array <System::String ^> ^ sources);
public virtual System.CodeDom.Compiler.CompilerResults CompileAssemblyFromSource (System.CodeDom.Compiler.CompilerParameters options, params string[] sources);
abstract member CompileAssemblyFromSource : System.CodeDom.Compiler.CompilerParameters * string[] -> System.CodeDom.Compiler.CompilerResults
override this.CompileAssemblyFromSource : System.CodeDom.Compiler.CompilerParameters * string[] -> System.CodeDom.Compiler.CompilerResults
Public Overridable Function CompileAssemblyFromSource (options As CompilerParameters, ParamArray sources As String()) As CompilerResults



A CompilerParameters object that indicates the compiler settings for this compilation.


An array of source code strings to compile.


A CompilerResults object that indicates the results of 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.CompileAssemblyFromSource method throw a PlatformNotSupportedException. Compile source 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