Я пытаюсь выполнить TFS через Process.Start, но у меня есть некоторые трудности, и я не могу понять, почему. Вот мой фрагмент кода:Process.Start - борьба с аргументами в командной строке TFS
/// <summary>
/// Get the entire history for a project
/// </summary>
public void GetHistory(String project)
{
ProcessStartInfo info = new ProcessStartInfo();
String fileName = Path.GetTempFileName();
info.Arguments = String.Format("history \"{0}\" /recursive /format:Detailed /noprompt > {1}", "c:\\source\\ " + project, fileName);
info.FileName = "\"C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\IDE\\tf.exe\"";
info.RedirectStandardError = true;
info.UseShellExecute = false;
Process process = new Process();
process.StartInfo = info;
process.Start();
process.WaitForExit();
Console.WriteLine(process.StandardError.ReadToEnd());
Console.WriteLine("History written to " + fileName);
Console.ReadKey();
}
Это приводит к набору аргументов, как это (я просто удалил полное название проекта):
Затем я получаю следующее сообщение об ошибке:
The history command takes exactly one item.
Если я кусочки строки вместе и выполнить в обычной командной строке, однако затем он работает:
Может ли кто-нибудь сказать мне, что мне не хватает?