2010-03-16 19 views
1

Je suis en ce petit C# programme de test lancé à partir d'un fichier batch pre-commitsvnlook renvoie toujours une erreur et pas de sortie

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; 
    } 
} 

J'appelle délibérément svnlook help et en forçant une erreur que je puisse voir ce qui est passe en commettant.

Lorsque cette exécution du programme, SVN affiche

svnlook liquide' avec l'erreur 0xc0000135.

sortie actuelle est: vide

Je regardais l'erreur 0xc0000135 et ça veut dire App failed to initialize properly bien qu'il était pas spécifique à svnhook.

Pourquoi svnlook help ne retourne rien? Est-ce qu'il échoue lorsqu'il est exécuté par un autre processus?

Répondre

2

J'ai une application similaire qui s'appelle qui utilise le svnlook et ça marche bien, 2 choses à vérifier/essayer sont.

  1. Vérifiez que svnlook est inclus dans votre systemPath (Testez en ouvrant une invite de commande et en tapant svnlook et vérifier si elle émet le « aide svnlook » habituelle (Type d'utilisation))
  2. Essayez de faire une nouvelle installation de vos outils svn, il est possible que svnlook ait été corrompu en quelque sorte.