CompilerResults 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示從編譯器傳回的編譯結果。
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) |