2012-06-01 24 views
6

Próbuję odczytać zawartość pliku .csproj przy użyciu programu sharpsvn, ale wydaje się, że zawsze otrzymuję pusty plik.Odczytywanie zawartości pliku w sharpsvn

Oto mój kod:

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; 
} 

Kiedy mój kod dostaje XElement.Load(tr);, to zgłasza błąd mówiąc, że element główny brakuje. Okazuje się, że myOut jest pusty.

Czy robię coś nie tak?

+0

ten może być pomocny koleś [Klasa SharpSvn.SvnClient posiada funkcję GetList(), która działa bardzo dobrze:] (http://stackoverflow.com/a/5679545/1239836) – Devendar

Odpowiedz

8

Czy pamiętać, aby zresetować MemoryStream powrotem do początku po napisaniu do niego? Spróbuj dodać tę linię przed stwierdzeniem return:

myOut.Seek(0, SeekOrigin.Begin); 
+0

Nawet dodając to, myOut nie jest już pusty, ale jest pusty. Jeśli wykonam tę samą operację przy użyciu FileStream, zapisze wszystko do pliku. – RJP

Powiązane problemy