Defines an interface for invoking compilation of source code or a CodeDOM tree using a specific compiler.

See Also: ICodeCompiler Members


public interface ICodeCompiler



In the .NET Framework versions 1.0 and 1.1, code providers consist of implementations of System.CodeDom.Compiler.CodeDomProvider, System.CodeDom.Compiler.ICodeGenerator, System.CodeDom.Compiler.ICodeParser, and System.CodeDom.Compiler.ICodeCompiler. In the dnprdnlong, the CodeDomProvider.CreateGenerator, CodeDomProvider.CreateParser, and CodeDomProvider.CreateCompiler methods are obsolete, and the methods of System.CodeDom.Compiler.ICodeGenerator and System.CodeDom.Compiler.ICodeCompiler are directly available in the System.CodeDom.Compiler.CodeDomProvider class. You should override those methods in your code provider implementation and not call the base methods.

The System.CodeDom.Compiler.ICodeCompiler interface can be implemented for a specific compiler to enable developers to programmatically compile assemblies from Code Document Object Model (CodeDOM) compile units, strings containing source code, or source code files.

The System.CodeDom.Compiler.ICodeCompiler interface provides the capability to invoke compilation with specified parameters at runtime and access information related to compilation after compilation occurs, including the result code, and any errors or warnings the compiler returns. Each compile method accepts a System.CodeDom.Compiler.CompilerParameters object that indicates settings for the compiler, and returns a System.CodeDom.Compiler.CompilerResults object that indicates the results of the compilation.

Compiler developers should provide an implementation of this interface to support dynamic compilation. System.CodeDom.Compiler.CodeDomProvider implementers should also consider implementing this interface to provide programmatic compilation capability for the language that they are providing CodeDom support for.


Namespace: System.CodeDom.Compiler
Assembly: System (in System.dll)
Assembly Versions: 1.0.3300.0, 1.0.5000.0,,