ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# #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 页提供了校验和支持。 在 Visual C# 中创建 ASP.NET 项目时,生成的源文件包含 .aspx 文件(从该文件生成源文件)的校验和。然后,编译器将此信息写入 PDB 文件。 如果编译器在该文件中没有遇到 **#pragma checksum** 指令,它将计算校验和,然后将算出的值写入 PDB 文件。 ``` class TestClass { static int Main() { #pragma checksum "file.cs" "{3673e4ca-6098-4ec1-890f-8fceb2a794a2}" "{012345678AB}" // New checksum } } ``` ## 请参阅 [C# 参考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 编程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [C# 预处理器指令](https://msdn.microsoft.com/zh-CN/library/ed8yd1ha.aspx)