RJP
RJP

Reputation: 4116

Reading the contents of a file in sharpsvn

I'm trying to read the contents of a .csproj file using sharpsvn, but I seem to be always getting an empty file back.

Here is my 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;
}

When my code gets to XElement.Load(tr);, it throws an error saying that root element is missing. It turns our that myOut is empty.

Am I doing something wrong?

Upvotes: 6

Views: 914

Answers (2)

Allon Guralnek
Allon Guralnek

Reputation: 16121

Did you remember to reset the MemoryStream back to the beginning after writing into it? Try adding this line before the return statement:

myOut.Seek(0, SeekOrigin.Begin);

Upvotes: 8

Mare Infinitus
Mare Infinitus

Reputation: 8162

perhaps this is helpful:

How to read each revision of file using sharpsvn client using c#

Upvotes: 2

Related Questions