我正在编写一个小型实用程序,以使用C#程序执行svn命令

这是我程序中的关键所在

System.Diagnostics.Process.Start(“ CMD.exe”,@“ svn结帐C:\ TestBuildDevelopment \ Code”);

正如我所假设的那样,上面的代码应该能够svn签出并将所有代码下载到上述本地路径。但是正在发生的是,命令提示符打开时显示了c#项目的默认路径,但没有执行任何操作。

如果我在命令行中运行此svn命令,它将正常工作。但是当我使用C#运行时,它只是弹出命令提示符而没有执行svn checkout操作。有什么问题的主意吗?

最佳答案

您不必运行CMD.exe。 CMD.exe只是一个调用其他程序集的程序。
您可以使用参数checkout直接调用svn.exe ...(但是是否缺少网址?)

Process.Start("svn.exe", @"checkout C:\TestBuildDevelopment\Code");


您也可以尝试以下方法:

Process proc = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.RedirectStandardOutput = true;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "svn.exe";
startInfo.CreateNoWindow = true;
startInfo.Arguments = "checkout ...";

proc.StartInfo = startInfo;
if(proc.Start()) {
    proc.WaitForExit();
}

关于c# - 使用C#程序svn checkout ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12153608/

10-15 02:52