有没有办法确定 .NET 程序集是否使用“确定性”标志进行编译?

Rob*_*los 5 .net .net-assembly portable-executable

我正在使用此答案中的代码来获取 .NET 程序集的链接器时间戳。

但是,如果程序集被编译为“确定性”,则该值并不是构建程序集的准确时间(参考),因此我想忽略它。

PE 标头(或程序集的任何其他部分)中是否有任何信息表明它已构建为“确定性”?

ste*_*and 1

NuGet Package Explorer可用于查明 nuget 包中的程序集是否是使用确定性标志构建的。

查看源代码,在将程序集/整个包标记为确定性之前,似乎需要进行多次检查。看起来他们在代码中实现了这个答案的所有内容,以查明程序集是否是确定性构建的。