我正在编写一个小型实用程序,以使用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/