2010-03-16 45 views
1

,我從一推出這個小的C#測試程序預先提交的批處理文件svnlook的總是返回一個錯誤,沒有輸出

private static int Test(string[] args) 
{ 
    var processStartInfo = new ProcessStartInfo 
    { 
     FileName = "svnlook.exe", 
     UseShellExecute = false, 
     ErrorDialog = false, 
     CreateNoWindow = true, 
     RedirectStandardOutput = true, 
     RedirectStandardError = true, 
     Arguments = "help" 
    }; 

    using (var svnlook = Process.Start(processStartInfo)) 
    { 
     string output = svnlook.StandardOutput.ReadToEnd(); 

     svnlook.WaitForExit(); 

     Console.Error.WriteLine("svnlook exited with error 0x{0}.", svnlook.ExitCode.ToString("X")); 
     Console.Error.WriteLine("Current output is: {0}", string.IsNullOrEmpty(output) ? "empty" : output); 

     return 1; 
    } 
} 

我特意打電話svnlook help,並迫使一個錯誤,所以我可以看到什麼是在提交時繼續。

當該程序運行,SVN顯示

svnlook的退出,錯誤0xC0000135。

電流輸出爲:空

我擡頭錯誤0xC0000135,它意味着App failed to initialize properly雖然它不是具體到svnhook。

爲什麼svnlook help不返回任何內容?通過另一個進程執行時會失敗嗎?

回答

2

我有一個類似的應用程序被稱爲使用svnlook,它工作正常,2件事檢查/嘗試是。

  1. 檢查svnlook的被包含在你的Systempath下(打開命令提示符,然後輸入svnlook命令和檢查,如果它輸出通常(使用「svnlook help」的用法)測試此)
  2. 試着做了重新安裝你的svn工具,可能svnlook被破壞了。