2016-11-30 3 views
0

Ich habe ein seltsames Problem Ich habe eine App, die ein Verzeichnis scannt und eine Liste von Dateien bekommt. Es verarbeitet jede Datei, indem sie sie liest und etwas tut. Es funktioniert gut im Entwicklungscomputer, aber wenn ich es auf dem Client bereitstellen, gibt es mir den Fehler. Hier ist der CodeDer angegebene Pfad wird nicht unterstützt C#

public void ProcessIMFiles() 
    { 
     DirectoryInfo di = new DirectoryInfo(Globals.ITMDIR); 
     FileInfo[] Files = di.GetFiles("*.txt");    
     foreach(FileInfo file in Files) 
     { 
      try 
      { 
       processThisIMFile(file.FullName); 
       movefile(file.FullName); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("error : " + ex.Message); 
      } 
     } 
    } 

Der Fehler tritt in dem Aufruf von processThisIMFile (file.FullName) siehe unten. Globals.ITMDIR ist ein gültiger Pfad.

private void processThisIMFile(string FileName) 
    { 
     string[] Fields = null; 
     setconnection(); 
     DataTable dt = null; 
     try 
     { 
      string[] Lines = System.IO.File.ReadAllLines(FileName); 

      foreach (string line in Lines) 
      { 
       Fields = line.Split(Globals.delimiter); 
       if (Fields.Length == 7) 
       { 
        //stuff happens here 
       } 
     }//Try 
     catch (Exception e) 
     { 
      if (Interactive) 
      { 
       MessageBox.Show("Error in the Path: ->" + FileName); 
       writeToLog(true, "error opening file " + FileName); 
      } 
     } 
    }//end of processThisItemFile 

der Fehler passiert, in der "String [] -Leitungen = System.IO.File.ReadAllLines (Dateiname)" Linie. FileName kommt von den di.GetFiles ("*. Txt"); Wenn ich den tatsächlichen Weg zeige, sieht es für mich ok aus. Ich habe versucht, mit UNC-Pfaden und mit Laufwerksbuchstaben Pfad wie in C: \ tmp \ Dateiname.txt oder \\ Server \ tmp \ Dateiname.txt beide Fehler in der Deplopyment-Maschine mit "Der angegebene Pfad ist nicht unterstützt", aber es funktioniert gut in der Entwicklungsmaschine.

Was ist los?

+0

Mögliches Duplikat von http://stackoverflow.com/questions/7348768/the-given-paths-format-is-not-supported – MWS

+0

Vielleicht einige Protokolle benötigt wird. Log 'FileName' in' processThisIMFile' –

Antwort

0

Ich frage mich, ob das mit file.fullname irgendwie die Dateipfadzeichenfolge ändern könnte und ein inakzeptables Ergebnis geben könnte. Können Sie Fehler beheben, indem Sie processThisIMFile(Path.GetFullPath(file)) verwenden? Verwenden Sie außerdem messagebox.show(file.FullName) vor der Verarbeitung dieser Datei, um zu bestätigen, dass das Ergebnis wie erwartet ist.

Verwandte Themen