我正在尝试使用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
是空的。
我做错了吗?
答案 0 :(得分:8)
您是否记得在写入后将MemoryStream
重置回到开头?尝试在return
语句之前添加此行:
myOut.Seek(0, SeekOrigin.Begin);
答案 1 :(得分:2)