//------------------------------------------------------------------------------ // // // petes // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.CodeDom.Compiler { using System.Diagnostics; using System.IO; using System.Security.Permissions; /// /// /// Provides a /// code compilation /// interface. /// /// public interface ICodeCompiler { /// /// /// Creates an assembly based on options, with the information from the compile units /// /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] CompilerResults CompileAssemblyFromDom(CompilerParameters options, CodeCompileUnit compilationUnit); /// /// /// Creates an assembly based on options, with the contents of /// fileName. /// /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] CompilerResults CompileAssemblyFromFile(CompilerParameters options, string fileName); /// /// /// Creates an assembly based on options, with the information from /// source. /// /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] CompilerResults CompileAssemblyFromSource(CompilerParameters options, string source); /// /// /// Compiles an assembly based on the specified options and /// information. /// /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] CompilerResults CompileAssemblyFromDomBatch(CompilerParameters options, CodeCompileUnit[] compilationUnits); /// /// /// Compiles /// an /// assembly based on the specified options and contents of the specified /// filenames. /// /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] CompilerResults CompileAssemblyFromFileBatch(CompilerParameters options, string[] fileNames); /// /// /// Compiles an assembly based on the specified options and information from the specified /// sources. /// /// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] CompilerResults CompileAssemblyFromSourceBatch(CompilerParameters options, string[] sources); } }