Reading the contents of a file in sharpsvn
Asked Answered
C

2

6

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?

Cereus answered 1/6, 2012 at 16:7 Comment(1)
this may be helpfull dude The SharpSvn.SvnClient class has a GetList() function that works really well:Necrolatry
W
8

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);
Weese answered 7/6, 2012 at 20:22 Comment(1)
Even adding this, myOut is no longer null, but it is empty. If I perform the same operation using a FileStream, it will write everything to the file just fine.Cereus
S
2

perhaps this is helpful:

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

Stygian answered 7/6, 2012 at 20:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.