In meiner Webapp ich mache das folgende. Ich weiß, es ist korrekt, weil ich versuchte 1) dumping start_sz zu einer Textdatei 2) su www-Daten 3) Kopieren Sie die extrahieren Zeichenfolge und es funktionierte.mono Process.Start, wie Bash zu finden?
var start_sz = string.Format(@"bash -c 'ln ""{2}/{0}"" ""{2}/{1}""'", fn, newfn, System.IO.Directory.GetCurrentDirectory());
Process.Start(start_sz);
Ich bekomme die Ausnahme unten also mit Argumentation oben glaube ich, dass es sagen Bash nicht gefunden werden kann.
Kann die angegebene Datei nicht finden
bei System.Diagnostics.Process.Start_shell (System.Diagnostics.ProcessStartInfo Startinfo, System.Diagnostics.Process Prozess) [0x00000] in: 0
bei System .Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo Startinfo, System.Diagnostics.Process Prozess) [0x00000] in: 0
bei System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo Startinfo) [0x00000] in: 0
bei System.Diagnostics.Process.Start (System.String filename) [0x00000] in: 0
bei MySite.QueueManager.MakeLink (System.String fn) [0x00000] in: 0
bei MySite.QueueManager.ImageQueue2() [0x00000] in: 0
bei MySite.QueueManager.ImageQueue() [0x00000] in: 0
Also, wie löse ich das? Grundsätzlich muss ich zur Laufzeit in meiner asp.net App einen Hardlink erstellen (soft is ok).
Ich dachte, vielleicht brauche ich den vollständigen Bash-Pfad, also habe ich versucht /bin/bash -c
aber das hat auch nicht funktioniert.
@ acidzombie24: Schön, dass es geholfen hat! :) – abatishchev
ah # $%^& * (! Ich musste Process.Start mit (string, string) aufrufen.Es dachte, dass die Argumente Teil des Dateinamens waren, daher wurde die Datei nicht gefunden. Warum Sie nicht process.start zwingen, (name, "") zu verwenden, ist es viel weniger fehleranfällig. –
@ acidzombie24: 'Process.Start (string)' erzeugt 'new ProcessStartInfo (string)' und 'Process.Start (string, string)' - 'new ProcessStartInfo (string, string)'. Schauen Sie sich 'ProcessStartInfo'-Konstruktoren an: einer setzt' Argumente', ein anderer - nicht. Also das ist nur Syntax-Zucker Überladung – abatishchev