Non sono riuscito a trovare alcuna informazione su questo tramite il professore Google, quindi eccomi qui. Prendi il nome del percorso indicato e incollalo in Windows Explorer. Mi sono imbattuto in questo dopo aver scoperto bug nel mio codice che ha generato i percorsi con un extra "." nel nome del percorso prima di un separatore di directory \
...Strano comportamento da .NET per quanto riguarda i percorsi dei file
@"C:\\pathto.\file.ext"
Nel codice, .NET accetterà il percorso quando si chiama File.Create
e un file verrà generato, ma in questo percorso:
@"C:\\pathto\file.ext"
Copia C:\\pathto.\file.ext
nella barra degli indirizzi di Esplora risorse e guarda "." scomparire e portarti a C:\\pathto\file.ext
E 'normale comportamento per .NET e Windows a Non sta causando un problema perché il'. ' viene rimosso da entrambi. NET e Windows quando passato in operazioni di file. Il vero problema è che tutti i file nel DB hanno nomi di file con un '. \', Ma esiste in percorsi che non hanno un '. \' ... e anche File.Exists()
, sebbene il percorso non sia il 'reale' posizione fisica ...
Cosa sta succedendo qui?
In primo luogo, è possibile rendere più facile copiare e incollare i percorsi utilizzando, ad esempio. '@" C: \ Users \ Matt "' format (un 'letterale stringa letterale'). –
Forse Windows vieta nomi di file (e cartelle) che iniziano o finiscono con '.'? –
Sì, questo è normale. Prova a creare una cartella che termina con un punto fermo fa lo stesso. – TheKingDave