使用SharpSVN读取文件内容

6
我将使用SharpSvn来读取.csproj文件的内容,但总是得到一个空文件。以下是我的代码:
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为空。
我做错了什么吗?

这可能会对你有帮助哥们儿。SharpSvn.SvnClient类有一个非常好用的GetList()函数:https://dev59.com/P3E85IYBdhLWcg3wNw14#5679545 - Devendar
2个回答

8

在将数据写入MemoryStream之后,您是否记得将其重置为开头?在return语句之前添加以下行:

myOut.Seek(0, SeekOrigin.Begin);

即使添加了这个,myOut 不再是 null,但它是空的。如果我使用 FileStream 执行相同的操作,它将成功地将所有内容写入文件。 - RJP


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接