public void WriteFileInfo(string path, InfoFile infoFile) { if (infoFile == null) { return; } string fullpath = Path.Combine(path, "infoFiles.xml"); mutexWriteObj.WaitOne(); XDocument xdoc; XElement root = new XElement("InfoFiles"); // создаем элемент XElement infoFileElem = new XElement("InfoFile"); //XElement idElem = new XElement("id", infoFile.id); XElement nameElem = new XElement("Name", infoFile.Name); XElement lengthElem = new XElement("Length", infoFile.Length.ToString()); //infoFileElem.Add(idElem); infoFileElem.Add(nameElem); infoFileElem.Add(lengthElem); FileInfo fileInf = new FileInfo(fullpath); if (!fileInf.Exists) { xdoc = new XDocument(); root.Add(infoFileElem); xdoc.Add(root); } else { xdoc = XDocument.Load(fullpath); xdoc.Root.Add(infoFileElem); } infoFile.GetInfoAboutFile(); try { xdoc.Save(fullpath); } catch (Exception) { Console.WriteLine($"\t* * * * * Нет доступа к папке по пути {path} * * * * *"); } mutexWriteObj.ReleaseMutex(); }