檢視組件內容
您可以使用 MSIL 反組譯工具 (Ildasm.exe) 來檢視檔案中的 Microsoft Intermediate Language (MSIL) 資訊。如果您所檢查的檔案是組件,該資訊將包括組件的屬性,以及對其他模組和組件的參考。該資訊有助於判斷檔案是否為組件或為組件的一部分,以及檔案是否參考其他模組或組件。
若要檢視組件內容
請在命令提示字元中鍵入下列命令:
ildasm <assembly name>
在這個命令中,assembly name 是要檢視的組件名稱。
下列範例開啟 Hello.exe
組件。
ildasm Hello.exe
如要檢視組件資訊清單資訊,請按兩下 [MSIL 反組譯工具] 視窗的資訊清單圖示。
Hello, World 範例
下列範例說明基本 "Hello, World" 程式。
Imports System
Public Module modmain
Sub Main()
Console.WriteLine ("Hello World using Visual Basic!")
End Sub
End Module
[C#]
using System;
class MainApp {
public static void Main() {
Console.WriteLine("Hello World using C#!");
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
void main() {
Console::WriteLine(L"Hello World using Managed Extensions!");
}
您可以使用 Ildasm.exe 在組件資訊清單中檢視下列資訊:
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
.ver 1:0:2411:0
}
.assembly Hello
{
// --- The following custom attribute is added automatically; do not uncomment. -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool,
// bool) = ( 01 00 00 01 00 00 )
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module Hello.exe
// MVID: {58AD9DFD-63A6-462A-8AD5-42CBC95AA147}
.subsystem 0x00000003
.file alignment 512
.corflags 0x00000001
// Image base: 0x03330000
組件資訊清單指示詞
下表說明 "Hello, World" 範例組件資訊清單中的所有指示詞。
指示詞 | 說明 |
---|---|
.assembly extern <assembly name> | 指定其他組件,該組件含有目前模組所參考的項目 (在這個範例中為 mscorlib )。 |
.publickeytoken <Token> | 指定參考組件的實際金鑰語彙基元。 |
.ver <version number> | 指定參考組件的版本編號。 |
.assembly <assembly name> | 指定組件名稱。 |
.hash algorithm <int32 value> | 指定使用的雜湊演算法。 |
.ver <version number> | 指定組件的版本號碼。 |
.module <file name> | 指定構成組件的模組名稱。在這個範例中,組件只由一個檔案組成。 |
.subsystem <value> | 指定程式所需的應用程式環境。在這個範例中,值 3 表示該可執行檔是從主控台執行。 |
.corflags | 中繼資料中目前保留的欄位。 |
組件資訊清單可包含許多不同的指示詞,視組件的內容而定。如需組件資訊清單的指示詞清單的詳細資訊,請參閱 ECMA 文件中,位於 [Tool Developer's Guide] 目錄的 .NET Framework SDK 的中繼資料。