CompilerResults Class

 

Represents the results of compilation that are returned from a compiler.

Namespace:   System.CodeDom.Compiler
Assembly:  System (in System.dll)


[SerializableAttribute]
[PermissionSetAttribute(SecurityAction::InheritanceDemand, Name = "FullTrust")]
public ref class CompilerResults 

NameDescription
System_CAPS_pubmethodCompilerResults(TempFileCollection^)

Initializes a new instance of the CompilerResults class that uses the specified temporary files.

NameDescription
System_CAPS_pubpropertyCompiledAssembly

Gets or sets the compiled assembly.

System_CAPS_pubpropertyErrors

Gets the collection of compiler errors and warnings.

System_CAPS_pubpropertyEvidence

Obsolete. Indicates the evidence object that represents the security policy permissions of the compiled assembly.

System_CAPS_pubpropertyNativeCompilerReturnValue

Gets or sets the compiler's return value.

System_CAPS_pubpropertyOutput

Gets the compiler output messages.

System_CAPS_pubpropertyPathToAssembly

Gets or sets the path of the compiled assembly.

System_CAPS_pubpropertyTempFiles

Gets or sets the temporary file collection to use.

NameDescription
System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

This class contains the following information about the results of a compilation by an ICodeCompiler interface implementation:

  • The CompiledAssembly property indicates the compiled assembly.

  • The Evidence property indicates the security evidence for the assembly.

  • The PathToAssembly property indicates the path to the compiled assembly, if it was not generated only in memory.

  • The Errors property indicates any compiler errors and warnings.

  • The Output property contains the compiler output messages.

  • The NativeCompilerReturnValue property indicates result code value returned by the compiler.

  • The TempFiles property indicates the temporary files generated during compilation and linking.

System_CAPS_noteNote

This class contains an inheritance demand at the class level that applies to all members. A SecurityException is thrown when the derived class does not have full-trust permission. For details about inheritance demands, see Inheritance Demands.

// 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) );
      }
   }
}

SecurityAction::InheritanceDemand

for full trust for inheritors. This class cannot be inherited by partially trusted code.

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: