我试图弄清楚装配何时发生变化(即使版本号相同).
现在最好的努力是发现它已被重新编译,因此想使用MSBuild使用的相同项目,我相信这是存储在元数据中的文件GUID? (按照The .NET File Format)
有没有什么办法可以访问这些信息而无需重新发明*并下降到文件字节?
解决方法:
好吧,似乎程序集没有关联的GUID.
模块,类,方法,字段具有GUID,并且程序集中的“GUID”流是存储它们的位置.
如果要访问程序集的元信息(例如,其主模块的GUID),Mono.Cecil
可能是一个不错的选择.
但相反,您可以通过使用哈希函数来计算校验和,或者只是查看修改日期来实现这一点.
如果您不想通过intervally访问该文件,System.IO.FilesystemWatcher可以通知您.