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が空になります。

私は何か間違ったことをしていますか?

4

2 に答える 2

8

MemoryStream書き込んだ後、最初に戻すのを忘れていませんか? returnステートメントの前に次の行を追加してみてください。

myOut.Seek(0, SeekOrigin.Begin);
于 2012-06-07T20:22:28.427 に答える
2

おそらくこれは役に立ちます:

c#を使用してsharpsvnクライアントを使用してファイルの各リビジョンを読み取る方法

于 2012-06-07T20:09:40.067 に答える