using (var file_stream = File.Create("users.xml"))
{
var serializer = new XmlSerializer(typeof(PasswordManager));
serializer.Serialize(file_stream, this);
file_stream.Close();
}
Die Verwendung des obigen Codes funktioniert perfekt. Allerdings, wenn ich es zu verkürzen:
var serializer = new XmlSerializer(typeof(PasswordManager));
serializer.Serialize(File.Create("users.xml"), this);
Ich erhalte die folgende Ausnahme, wenn ich versuche, die Datei users.xml im selben Test zu deserialisieren: Der Prozess kann nicht auf die Datei 'users.xml' zugreifen, da sie von einem anderen Prozess verwendet wird.
Die Ursache scheint zu sein, dass die File.Create-Methode einen geöffneten FileStream zurückgibt, den ich nicht schließen kann, da ich keinen Verweis darauf behalte.
Mein Fehler, oder der von Microsoft? ;-)