2012-06-01 146 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