13

Windows ha una limitazione di 259 caratteri nei percorsi. Sfortunatamente, questo sta iniziando a causare problemi per noi a causa di alcuni dei nostri nomi di riferimento del servizio.Come è possibile controllare i nomi dei file per i riferimenti al servizio .NET?

Per esempio, abbiamo la nostra filiale di TFS con un già lungo percorso, e poi i riferimenti di servizi .NET quasi il doppio questo perché utilizzano sempre lo spazio dei nomi pienamente qualificato come il nome del file:

Some.Really.Long.Fully.Qualified.Namespace.Service.Reference.Name.datasource

AFAIK , non è possibile modificare il nome del riferimento del servizio, ma Ihoping ho torto. Può essere fatto?

In caso contrario, esistono altri possibili metodi per risolvere questo fastidioso problema?

EDIT: Inoltre, so che una soluzione ovvia sarebbe quella di accorciare i nostri spazi dei nomi e/o percorsi, ma supponiamo che non possiamo farlo in questo caso. :) Sto principalmente cercando di capire come controllare i nomi dei file per i riferimenti di servizio.

UPDATE: Il problema di root che sto avendo è dove TFS non mi permette di ottenere l'ultimo su un particolare ramo. Ecco l'errore esatto:

TF205022: The following path contains more than the allowed 259 characters: [C:\Some-really-long-259-character-path-here]

risposta

12

Questi file .datasource possono essere eliminati poiché non sono necessari per creare il progetto. Quindi abbiamo appena fatto una scansione di tutti i file .datasource in TFS e li abbiamo cancellati.

This article parla di più.

-1

259? in realtà è 32 k di NTFS ma Windows Explorer limita a "256", ci sono alcune API di Windows che consentono di creare e gestire percorsi più lunghi fino al limite reale di NTFS ~ 32k, la potenza corretta di 2, ma la maggior parte del software in realtà non usa quegli apis nativi ...

leggi qui: Maximum filename length in NTFS (Windows XP and Windows Vista)?.

Una possibilità sarebbe quella di utilizzare svincolo strumento da Sys Internals e giunzione vostro percorso lungo ramo a qualcosa di molto più breve direttamente in C#, tutto dovrebbe quindi lavorare perché si usa solo percorsi relativi, suppongo.

+0

Grazie per la risposta. Sei corretto, il limite è 256. Sono stato fuorviato dall'errore che ho ricevuto da TFS (vedi l'aggiornamento sopra), come se consentisse fino a 259 caratteri. –

Problemi correlati