1

Nuget 在更新操作期间使用什么比较机制来检查包内容文件是否在宿主项目中被修改?

4

1 回答 1

1

Nuget 使用 CRC(循环冗余校验)将原始包文件与已在宿主项目中提取的版本进行比较。

它计算包文件和提取文件的 32 位 CRC 并比较这些值。以下 Stream 扩展方法用于比较:

    public static bool ContentEquals(this Stream stream, Stream otherStream)
    {
        return Crc32.Calculate(stream) == Crc32.Calculate(otherStream);
    }
于 2012-11-07T10:59:10.227 回答