Bei C#/.Net war nicht ganz klar, warum Path.Combine mit UNC Pfad nicht, wie erwartet, funktioniert. Gibt es Probleme mit Path.Combine und UNC-Pfaden? Nach kurzer Recherche habe ich eine Lösung gefunden.
Falsche Ausgabe
Bei folgendem Code kommt ein, für mich, nicht vorhersehbare Ausgabe zurück, da er den Inhalt von der Variable host zu verschluckt. Es scheint, dass Path.Combine Probleme mit UNC Pfaden hat.
string host = @"\\192.168.0.100"; string path = @"\test\file.jpg"; string result = Path.Combine(host, path); // result \test\file.jpg
Eigentlich sollte \\192.168.0.100\test\file.jpg zurück kommen.
Richtige Ausgabe
Die gute Nachricht, Path.Combine kann mit UNC-Pfaden umgehen! Nach kurzer Recherche fand ich auch die Lösung:
string host = @"\\192.168.0.100"; string path = @"test\file.jpg"; string result = Path.Combine(host, path); // result \\192.168.0.100\test\file.jpg
Wenn man bei „path“ den führende Backslash weglässt, dann klappt es auch mit UNC-Pfaden.
Lösung gefunden hier: