Bibliothèque de classes .NET Framework
CompilerResults, classe

Mise à jour : novembre 2007

Représente les résultats de la compilation qui sont retournés par un compilateur.

Espace de noms :  System.CodeDom.Compiler
Assembly :  System (dans System.dll)

Syntaxe

Visual Basic (Déclaration)
<SerializableAttribute> _
<PermissionSetAttribute(SecurityAction.InheritanceDemand, Name := "FullTrust")> _
Public Class CompilerResults
Visual Basic (Utilisation)
Dim instance As CompilerResults
C#
[SerializableAttribute]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public class CompilerResults
VisualC++
[SerializableAttribute]
[PermissionSetAttribute(SecurityAction::InheritanceDemand, Name = L"FullTrust")]
public ref class CompilerResults
J#
/** @attribute SerializableAttribute */ 
/** @attribute PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust") */
public class CompilerResults
JScript
public class CompilerResults
Notes

Cette classe contient les informations suivantes sur les résultats d'une compilation exécutée par une implémentation d'interface ICodeCompiler :

  • La propriété CompiledAssembly indique l'assembly compilé.

  • La propriété Evidence indique la preuve de sécurité pour l'assembly.

  • La propriété PathToAssembly indique le chemin d'accès de l'assembly compilé, si la compilation n'a pas été exécutée en mémoire uniquement.

  • La propriété Errors indique les erreurs et avertissements générés par le compilateur.

  • La propriété Output contient les messages de sortie du compilateur.

  • La propriété NativeCompilerReturnValue indique la valeur de code de résultat retournée par le compilateur.

  • La propriété TempFiles indique les fichiers temporaires générés durant la compilation et la liaison.

Remarque :

Cette classe contient une demande d'héritage au niveau de classe qui s'applique à tous les membres. Une exception SecurityException est levée lorsque la classe dérivée ne possède pas une autorisation de confiance totale. Pour plus d'informations sur les demandes d'héritage, consultez Demandes d'héritage.

Exemples

Visual Basic
' 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
C#
// 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 );                  
        }
    }
}
VisualC++
// 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) );
      }
   }
}
Autorisations

Hiérarchie d'héritage

System..::.Object
  System.CodeDom.Compiler..::.CompilerResults
    System.Workflow.ComponentModel.Compiler..::.WorkflowCompilerResults
Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plateformes

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
Voir aussi

Référence

Mots clés :


Page view tracker