У меня есть следующий файл:
C:\Users\Jan\Documents\Visual Studio 2010\Projects\AzureTests\Build\82df3c44-0482-47a7-a5d8-9b39a79cf359.cskpg\WebRole1_778722b2-eb95-476d-af6a-917f269a0814.cssx\39e5cb39-cd18-4e1a-9c25-72bd1ad41b49.csman
Я могу нормально открыть этот файл через открытое окно в notepad ++ или через проводник.Однако открытие через окно «Выполнить» не работает.Это дает диалог «не могу найти файл».Когда я запрашиваю файловую систему в C # с помощью:
var dir = new DirectoryInfo(@"C:\Users\Jan\...")
var fil = dir.GetFiles("*.csman")[0];
Файл также находится в списке возвращенных файлов, но я не могу сделать:
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(fil.FullName);
Поскольку это не удается с«неправильные данные в (1,1)» ошибка.Потому что XmlDocument
считает, что файл пуст.Однако File.ReadAllBytes
в этом файле выполняется успешно.Это работает:
var buf = File.ReadAllBytes(fil.FullName);
using (var ms = new MemoryStream())
{
ms.Write(buf, 0, (int) buf.Length);
ms.Seek(0, SeekOrigin.Begin);
xmlDoc.Load(ms);
}
Проблема не возникает при звонке ...
xmlDoc.Save(fil.FullName);
Может кто-нибудь объяснить, что здесь происходит?