Es hat eine Weile gedauert, bis ich diesen Fehler in meinem Code gefunden habe. Ich versuche, ein temporäres Testverzeichnis zu erstellen:
Path.Combine("C:", "test");
Directory.CreateDirectory(path);
Also wird dieses Verzeichnis C:\test
nicht erstellt. Es scheint nur das Verzeichnis test
im lokalen Ordner der ausführenden Assembly zu erstellen.
Das liegt daran, dass Path.Combine("C:", "test");
C:test
zurückgibt und nicht C:\test
.
Ich behaupte nicht, viel über Dateisysteme zu wissen, daher sollte der Grund dafür vielleicht offensichtlich sein, aber ich verstehe es nicht. Ich bin mir nicht sicher, warum sie Path
auf diese Weise implementiert haben oder warum CreateDirectory
sich nicht über einen ungültigen Verzeichnisnamen beschwert.