如何获得C#.NET编译器程序集GUID

我试图弄清楚装配何时发生变化(即使版本号相同).

现在最好的努力是发现它已被重新编译,因此想使用MSBuild使用的相同项目,我相信这是存储在元数据中的文件GUID? (按照The .NET File Format)

有没有什么办法可以访问这些信息而无需重新发明*并下降到文件字节?

解决方法:

好吧,似乎程序集没有关联的GUID.
模块,类,方法,字段具有GUID,并且程序集中的“GUID”流是存储它们的位置.

如果要访问程序集的元信息(例如,其主模块的GUID),Mono.Cecil可能是一个不错的选择.

但相反,您可以通过使用哈希函数来计算校验和,或者只是查看修改日期来实现这一点.
如果您不想通过intervally访问该文件,System.IO.FilesystemWatcher可以通知您.

上一篇:Linq查询连接guid与varchar字段


下一篇:c# – 使用字符串将ExecuteScalar结果转换为GUID而不使用?