#pragma checksum (C# リファレンス)
更新 : 2007 年 11 月
ASP.NET ページのデバッグに使用するソース ファイルのチェックサムを生成します。
#pragma checksum "filename" "{guid}" "checksum bytes"
パラメータ
"filename"
変更または更新を監視する必要があるファイルの名前。"{guid}"
ファイルのグローバル一意識別子 (GUID: Globally Unique Identifier)。"checksum_bytes"
チェックサムのバイトを表す 16 進形式の文字列。偶数の 16 進数であることが必要です。奇数の数値を指定すると、コンパイル時に警告が出力され、ディレクティブが無視されます。
解説
Visual Studio デバッガは、常に正しいソースを検出することを目的としてチェックサムを使用します。コンパイラはソース ファイルのチェックサムを計算し、プログラム データベース (PDB) ファイルに出力します。デバッガは、その PDB を使用して、ソース ファイルについて算出されたチェックサムとの比較を行います。
この方法は、ASP.NET プロジェクトには使用できません。算出されたチェックサムは、.aspx ファイルではなく、生成されたソース ファイルを対象としているためです。この問題を解決するために、#pragma checksum によって ASP.NET ページのチェックサムがサポートされています。
Visual C# で ASP.NET プロジェクトを作成すると、生成されるソース ファイルに .aspx ファイルのチェックサムが含められます。ソースは、この .aspx ファイルから生成されます。次に、コンパイラがこの情報を PDB ファイルに書き込みます。
ファイルに #pragma checksum ディレクティブが見つからない場合、コンパイラはチェックサムを計算し、その値を PDB ファイルに書き込みます。
使用例
class TestClass
{
static int Main()
{
#pragma checksum "file.cs" "{3673e4ca-6098-4ec1-890f-8fceb2a794a2}" "{012345678AB}" // New checksum
}
}