Надеюсь, что я мог бы получить некоторую помощь в решении проблемы, которая, кажется, нигде не может найти окончательного ответа.
Я добавляю данные в документ XML с использованием объекта XDocument, изатем перезаписывает существующий файл с помощью xDoc.save (path), но по какой-то причине при первом запуске кода выдается ошибка, даже если файл не используется каким-либо другим процессом.
* "процесс не может получить доступ к файлу "C: \ XXX \ XXXX \ Telemetry \ 2011_11_22.tlm, поскольку он используется другим процессом." *
Последующие итерации не вызывают проблемы.
Здесьмой код, который я использую с try / catch, удален для удобства чтения: -
XElement x = GenerateTelemetryNode(h); //Create a new element to append
if (File.Exists(path))
{
if (xDoc == null)
{
xDoc = XDocument.Load(new StreamReader(path));
}
}
else
{
xDoc = new XDocument();
xDoc.Add(new XElement("TSD"));
}
xDoc.Element("TSD").Add(x);
xmlPath = path;
xDoc.Save(path);
Я уверен, что есть очень простое объяснение этому.
Большое спасибо заранее за любые ответы.