CompilerResults 类

定义

表示从编译器返回的编译结果。

public ref class CompilerResults
public class CompilerResults
[System.Serializable]
public class CompilerResults
type CompilerResults = class
[<System.Serializable>]
type CompilerResults = class
Public Class CompilerResults
继承
CompilerResults
派生
属性

示例

// Displays information from a CompilerResults.
[PermissionSet(SecurityAction::Demand, Name="FullTrust")]
static void DisplayCompilerResults( System::CodeDom::Compiler::CompilerResults^ cr )
{
   
   // If errors occurred during compilation, output the compiler output and errors.
   if ( cr->Errors->Count > 0 )
   {
      for ( int i = 0; i < cr->Output->Count; i++ )
         Console::WriteLine( cr->Output[ i ] );
      for ( int i = 0; i < cr->Errors->Count; i++ )
         Console::WriteLine( String::Concat( i, ": ", cr->Errors[ i ] ) );
   }
   else
   {
      
      // Display information ab->Item[Out] the* compiler's exit code and the generated assembly.
      Console::WriteLine( "Compiler returned with result code: {0}", cr->NativeCompilerReturnValue );
      Console::WriteLine( "Generated assembly name: {0}", cr->CompiledAssembly->FullName );
      if ( cr->PathToAssembly == nullptr )
               Console::WriteLine( "The assembly has been generated in memory." );
      else
               Console::WriteLine( "Path to assembly: {0}", cr->PathToAssembly );
      
      // Display temporary files information.
      if (  !cr->TempFiles->KeepFiles )
               Console::WriteLine( "Temporary build files were deleted." );
      else
      {
         Console::WriteLine( "Temporary build files were not deleted." );
         
         // Display a list of the temporary build files
         IEnumerator^ enu = cr->TempFiles->GetEnumerator();
         for ( int i = 0; enu->MoveNext(); i++ )
            Console::WriteLine("TempFile " + i.ToString() + ": " + (String^)(enu->Current) );
      }
   }
}
// Displays information from a CompilerResults.
public static void DisplayCompilerResults(System.CodeDom.Compiler.CompilerResults cr)
{
    // If errors occurred during compilation, output the compiler output and errors.
    if( cr.Errors.Count > 0 )
    {
        for( int i=0; i<cr.Output.Count; i++ )
            Console.WriteLine( cr.Output[i] );
        for( int i=0; i<cr.Errors.Count; i++ )
            Console.WriteLine( i.ToString() + ": " + cr.Errors[i].ToString() );
    }
    else
    {
        // Display information about the compiler's exit code and the generated assembly.
        Console.WriteLine( "Compiler returned with result code: " + cr.NativeCompilerReturnValue.ToString() );
        Console.WriteLine( "Generated assembly name: " + cr.CompiledAssembly.FullName );
        if( cr.PathToAssembly == null )
            Console.WriteLine( "The assembly has been generated in memory." );
        else
            Console.WriteLine( "Path to assembly: " + cr.PathToAssembly );

        // Display temporary files information.
        if( !cr.TempFiles.KeepFiles )
        {
            Console.WriteLine( "Temporary build files were deleted." );
        }
        else
        {
            Console.WriteLine( "Temporary build files were not deleted." );
            // Display a list of the temporary build files
            IEnumerator enu = cr.TempFiles.GetEnumerator();
            for( int i=0; enu.MoveNext(); i++ )
                Console.WriteLine( "TempFile " + i.ToString() + ": " + (string)enu.Current );
        }
    }
}
' Displays information from a CompilerResults.
Public Shared Sub DisplayCompilerResults(ByVal cr As System.CodeDom.Compiler.CompilerResults)
    ' If errors occurred during compilation, output the compiler output and errors.
    If cr.Errors.Count > 0 Then
        Dim i As Integer
        For i = 0 To cr.Output.Count - 1
            Console.WriteLine(cr.Output(i))
        Next i        
        For i = 0 To cr.Errors.Count - 1
            Console.WriteLine((i.ToString() + ": " + cr.Errors(i).ToString()))
        Next i
    Else
        ' Display information about the compiler's exit code and the generated assembly.
        Console.WriteLine(("Compiler returned with result code: " + cr.NativeCompilerReturnValue.ToString()))
        Console.WriteLine(("Generated assembly name: " + cr.CompiledAssembly.FullName))
        If cr.PathToAssembly Is Nothing Then
            Console.WriteLine("The assembly has been generated in memory.")
        Else
            Console.WriteLine(("Path to assembly: " + cr.PathToAssembly))
        End If
        ' Display temporary files information.
        If Not cr.TempFiles.KeepFiles Then
            Console.WriteLine("Temporary build files were deleted.")
        Else
            Console.WriteLine("Temporary build files were not deleted.")
            ' Display a list of the temporary build files
            Dim enu As IEnumerator = cr.TempFiles.GetEnumerator()
            Dim i As Integer
            i = 0
            While enu.MoveNext()
                Console.WriteLine(("TempFile " + i.ToString() + ": " + CStr(enu.Current)))
                i += 1
            End While
        End If
    End If
End Sub

注解

此类包含有关接口实现编译结果的 ICodeCompiler 以下信息:

  • 属性 CompiledAssembly 指示已编译的程序集。

  • 属性 Evidence 指示程序集的安全证据。

  • 属性 PathToAssembly 指示已编译程序集的路径(如果它不是仅在内存中生成的)。

  • 属性 Errors 指示任何编译器错误和警告。

  • 属性 Output 包含编译器输出消息。

  • 属性 NativeCompilerReturnValue 指示编译器返回的结果代码值。

  • 属性 TempFiles 指示编译和链接期间生成的临时文件。

注意

此类包含适用于所有成员的类级别的继承要求。 SecurityException当派生类没有完全信任权限时,将引发 。 有关继承需求的详细信息,请参阅 继承需求

构造函数

CompilerResults(TempFileCollection)

初始化使用指定临时文件的 CompilerResults 类的新实例。

属性

CompiledAssembly

获取或设置已编译的程序集。

Errors

获取编译器错误和警告的集合。

Evidence
已过时.

指示证据对象,该对象表示编译的程序集的安全策略权限。

NativeCompilerReturnValue

获取或设置编译器的返回值。

Output

获取编译器输出消息。

PathToAssembly

获取或设置已编译程序集的路径。

TempFiles

获取或设置要使用的临时文件集合。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅