BinaryFormatter ignoriert die Assembly-Version
Ich habe die folgende Methode, um einen Hash eines Objekts zu generieren. Es funktioniert ziemlich gut Wenn ich jedoch die Version der Assembly ändere, ändert sich der Hash, auch wenn das Objekt dasselbe ist.
public static string GetHash(Object item)
{
MemoryStream memoryStream = new MemoryStream();
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, item);
binaryFormatter.AssemblyFormat = FormatterAssemblyStyle.Simple;
HashAlgorithm hashAlgorithm = new MD5CryptoServiceProvider();
memoryStream.Seek(0, SeekOrigin.Begin);
return Convert.ToBase64String(hashAlgorithm.ComputeHash(memoryStream));
}
Wie ist es möglich, die Assembly-Version zu ignorieren?