2012-06-01 7 views
6

Ich versuche, den Inhalt einer .csproj-Datei mit sharpsvn zu lesen, aber ich scheine immer eine leere Datei zurück zu bekommen.Den Inhalt einer Datei in sharpsvn lesen

Hier ist mein Code:

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

Wenn mein Code zu XElement.Load(tr); bekommt, wirft es eine Fehlermeldung, dass Root-Element fehlt. Es wird unser myOut ist leer.

Mache ich etwas falsch?

+0

dies kann hilfreich sein Kumpel [Die SharpSvn.SvnClient Klasse hat eine GetList() Funktion, die wirklich gut funktioniert:] (http://stackoverflow.com/a/5679545/1239836) – Devendar

Antwort

8

Haben Sie daran gedacht, nachdem das Schreiben in den MemoryStream zurück zum Anfang zurück? Versuchen Sie, diese Zeile vor der return Aussage:

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

Auch wenn dies hinzugefügt wird, ist myOut nicht mehr null, aber es ist leer. Wenn ich die gleiche Operation mit einem FileStream ausführe, schreibt es alles in die Datei. – RJP