Was entspricht PathCanonicalize in C #?
>Verwendung: Ich muss gut raten, ob zwei Dateipfade auf dieselbe Datei verweisen (ohne Festplattenzugriff). Meine typische Herangehensweise war es, es durch ein paar Filter wie MakeAbsolute und PathCanonicalize zu werfen und dann einen Vergleich zwischen Groß- und Kleinschreibung vorzunehmen.
3 Lösungen:
Im besten Fall, wo Sie zu 100% sicher sind, dass der aufrufende Prozess vollen Zugriff auf das Dateisystem hat. CAVEAT: Berechtigung für eine Produktions-Box kann knifflig sein
%Vor%Aber wir sind nicht immer frei. Oft müssen Sie die Zeichenfolgenarithmetik ohne Erlaubnis ausführen. Dafür gibt es einen nativen Anruf. CAVEAT: greift auf nativen Anruf zurück
%Vor%Eine dritte Strategie besteht darin, die CLR auszutricksen. Path.GetFullPath () funktioniert problemlos auf einem fiktiven Pfad, also stellen Sie sicher, dass Sie immer einen geben. Was Sie tun können, ist, die Wurzel mit einem gefälschten UNC-Pfad auszutauschen, GetFullPath () aufzurufen und dann die echte wieder einzutauschen. CAVEAT: Dies kann einen harten Verkauf in Code-Review erfordern
%Vor%