編輯

共用方式為


CodeDomProvider.CompileAssemblyFromSource Method

Definition

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

public:
 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

Parameters

options
CompilerParameters

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

sources
String[]

An array of source code strings to compile.

Returns

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