C# SVN错误:";svnadmin:E205000:参数太多”;

C# SVN错误:";svnadmin:E205000:参数太多”;,c#,svn,process,svndump,C#,Svn,Process,Svndump,我正在尝试使用C代码备份我的repositories 当我从命令行使用dump命令时 svnadmin dump C:\Repositories\Myrepo>C:\temp\myrepodumpfile.dump 它工作得很好,但当我试图通过上面给出的C代码使用它时,它会给出如下错误 svnadmin:E205000:有关详细信息,请尝试“svnadmin帮助” svnadmin:E205000:参数太多 我的SVN信息: SVN版本1.7.5 环境变量aslo set(我可以直接从cmd使用

我正在尝试使用C代码备份我的repositories

当我从命令行使用dump命令时

svnadmin dump C:\Repositories\Myrepo>C:\temp\myrepodumpfile.dump

它工作得很好,但当我试图通过上面给出的C代码使用它时,它会给出如下错误

svnadmin:E205000:有关详细信息,请尝试“svnadmin帮助”

svnadmin:E205000:参数太多

我的SVN信息:

SVN版本1.7.5 环境变量aslo set(我可以直接从cmd使用sv)


似乎无法找出问题所在

是命令行的一项功能;从C#启动进程时不能使用它

所做的是获取流程写入StandardOutput的输出并将其写入文件。这也是您需要在程序中实现的,例如

var psi = new ProcessStartInfo("svnadmin");
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.UseShellExecute = false;
psi.Arguments= @"dump C:\Repositories\Myrepo";

using (var svnCommand = Process.Start(psi))
{     
    var myoutput = svnCommand.StandardOutput;

    File.WriteAllText(@"C:\temp\myrepodumpfile.dump", myoutput.ReadToEnd());

    svnCommand.WaitForExit();
}

谢谢,它起作用了。。。但我有一个疑问
svnadmin dump
StandardError
流中报告成功和失败。如何知道转储成功与否。您可以检查
process.ExitCode
(所有错误为1,成功为0)
var psi = new ProcessStartInfo("svnadmin");
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.UseShellExecute = false;
psi.Arguments= @"dump C:\Repositories\Myrepo";

using (var svnCommand = Process.Start(psi))
{     
    var myoutput = svnCommand.StandardOutput;

    File.WriteAllText(@"C:\temp\myrepodumpfile.dump", myoutput.ReadToEnd());

    svnCommand.WaitForExit();
}