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

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

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

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

最佳答案 好吧,似乎程序集没有关联的GUID.

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

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

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

点赞