#pragma checksum (C# リファレンス)#pragma checksum (C# Reference)

ASP.NET ページのデバッグに使用するソース ファイルのチェックサムを生成します。Generates checksums for source files to aid with debugging ASP.NET pages.


#pragma checksum "filename" "{guid}" "checksum bytes"  


変更または更新を監視する必要があるファイルの名前。The name of the file that requires monitoring for changes or updates.

ハッシュ アルゴリズムのグローバル一意識別子 (GUID)。The Globally Unique Identifier (GUID) for the hash algorithm.  

チェックサムのバイト数を表す 16 進数の文字列。The string of hexadecimal digits representing the bytes of the checksum. 偶数の 16 進数である必要があります。Must be an even number of hexadecimal digits. 奇数の数値を指定すると、コンパイル時に警告が出力され、ディレクティブが無視されます。An odd number of digits results in a compile-time warning, and the directive are ignored.


Visual Studio デバッガーは、常に正しいソースを検出するために、チェックサムを使用します。The Visual Studio debugger uses a checksum to make sure that it always finds the right source. コンパイラはソース ファイルのチェックサムを計算し、プログラム データベース (PDB) ファイルに結果を出力します。The compiler computes the checksum for a source file, and then emits the output to the program database (PDB) file. デバッガーは、その PDB ファイルを使用して、ソース ファイルについて計算したチェックサムと比較します。The debugger then uses the PDB to compare against the checksum that it computes for the source file.

このソリューションは ASP.NET プロジェクトには使用できません。それは計算されたチェックサムは、.aspx ファイルではなく、生成されたソース ファイルを対象としているためです。This solution does not work for ASP.NET projects, because the computed checksum is for the generated source file, rather than the .aspx file. この問題に対応するため、#pragma checksum によって ASP.NET ページのチェックサムがサポートされています。To address this problem, #pragma checksum provides checksum support for ASP.NET pages.

Visual C# で ASP.NET プロジェクトを作成すると、生成されるソース ファイルにソースの生成元である .aspx ファイルのチェックサムが含められます。When you create an ASP.NET project in Visual C#, the generated source file contains a checksum for the .aspx file, from which the source is generated. コンパイラは、この情報を PDB ファイルに書き込みます。The compiler then writes this information into the PDB file.

ファイルに #pragma checksum ディレクティブが見つからない場合、コンパイラはチェックサムを計算し、PDB ファイルにその値を書き込みます。If the compiler encounters no #pragma checksum directive in the file, it computes the checksum and writes the value to the PDB file.


class TestClass  
    static int Main()  
        #pragma checksum "file.cs" "{406EA660-64CF-4C82-B6F0-42D48172A799}" "ab007f1d23d9" // New checksum  

関連項目See also