Чтение содержимого файла в sharpsvn

Я пытаюсь прочитать содержимое файла .csproj с помощью sharpsvn, но, похоже, я всегда получаю пустой файл.

Вот мой код:

MemoryStream myOut = new MemoryStream();       
svnClient.Write(path, myOut))
return myOut.GetLibsFromCsproj();

private static string GetLibsFromCsproj(this MemoryStream csjpros)
{
    TextReader tr = new StreamReader(csjpros);
    XElement projectNode = XElement.Load(tr);
    XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003";
    var referenceNodes = projectNode.Descendants(msbuild + "ItemGroup").Descendants(msbuild + "Reference").ToString();
    return referenceNodes;
}

Когда мой код достигает XElement.Load(tr);, он выдает ошибку о том, что корневой элемент отсутствует. Получается, что myOut пусто.

Я делаю что-то неправильно?


person RJP    schedule 01.06.2012    source источник
comment
это может быть полезно, чувак Класс SharpSvn.SvnClient имеет функцию GetList(), которая работает очень хорошо:   -  person Devendar    schedule 14.06.2012


Ответы (2)


Вы не забыли сбросить MemoryStream обратно в начало после записи в него? Попробуйте добавить эту строку перед оператором return:

myOut.Seek(0, SeekOrigin.Begin);
person Allon Guralnek    schedule 07.06.2012
comment
Даже добавив это, myOut больше не является нулевым, но он пуст. Если я выполню ту же операцию с помощью FileStream, он будет нормально записывать все в файл. - person RJP; 08.06.2012