Поделиться через


#pragma checksum (Справочник по C#)

Создание контрольных сумм файл исходного кода для помощи в отладке страниц ASP.NET.

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

Параметры

  • "filename"
    Имя файла, для которого требуется отслеживание изменений и обновлений.

  • "{guid}"
    Идентификатор GUID этого файла.

  • "checksum_bytes"
    Шестнадцатеричное значение контрольной суммы. Должно содержать четное количество шестнадцатеричных чисел. В случае нечетного количества при компиляции будет показано предупреждение, а директива не будет обработана.

Заметки

Отладчик Visual Studio использует контрольную сумму для проверки правильности исходного кода. Компилятор вычисляет контрольную сумму для файла исходного кода, затем передает результат в файл PDB базы данных программы. После этого отладчик использует PDB для сравнения с вычисленной контрольной суммой.

Это решение не работает для проектов ASP.NET, поскольку контрольная сумма вычисляется для файла исходного кода, а не для ASPX-файла. Для решения этой проблемы функция #pragma checksum обеспечивает поддержку контрольных сумм для страниц ASP.NET.

При создании проекта ASP.NET в Visual C# созданный файл исходного кода содержит контрольную сумму для ASPX-файла, из которого создается файл исходного кода. Затем компилятор записывает эти данные в файл PDB.

Если компилятор не находит директивы #pragma checksum в файле, он вычислят контрольную сумму и записывает значение в файл PDB.

Пример

class TestClass
{
    static int Main()
    {
        #pragma checksum "file.cs" "{3673e4ca-6098-4ec1-890f-8fceb2a794a2}" "{012345678AB}" // New checksum
    }
}

См. также

Ссылки

Директивы препроцессора C#

Основные понятия

Руководство по программированию на C#

Другие ресурсы

Справочник по C#