2012-06-01 41 views
6

我正在尝试使用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是空的。

我做错了什么?

+0

这可能是有益的花花公子[该SharpSvn.SvnClient类有一个的GetList()函数,作品真的很好:](http://stackoverflow.com/a/5679545/1239836) – Devendar

回答

8

你记得写入之后到MemoryStream重新回到起点?尝试return声明之前加入这一行:

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

即使添加它,myOut不再为空,但它是空的。如果我使用FileStream执行相同的操作,它会将所有内容写入文件中。 – RJP