windows - Hvordan kan du styre filnavne til .NET Service Referencer?

Indlæg af Hanne Mølgaard Plasc

Problem



Windows har en begrænsning på 259 tegn i stier. Desværre er dette begyndt at skabe problemer for os på grund af nogle af vores Service Reference navne.


For eksempel har vi vores TFS-filial med en allerede lang vej, og derefter. NET-servicehenvisninger refererer til næsten det dobbelte, fordi de altid bruger det fuldt kvalificerede navneområde som filnavn:



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



AFAIK, du kan ikke ændre navnet på servicereferencen - men Ihoping jeg er forkert. Kan dette gøres?


Hvis ikke, er der andre mulige løsninger til dette irriterende problem?


EDIT: Jeg ved også, at en oplagt løsning ville være at forkorte vores navneområder og/eller stier, men antage, at vi ikke kan gøre det i dette tilfælde. Jeg forsøger især at finde ud af, hvordan man styrer filnavne til servicehenvisninger.


UPDATE: Det rodproblem, jeg har, er, hvor TFS ikke tillader mig at få det nyeste på en bestemt fil. Her er den nøjagtige fejl:



  TF205022: Følgende sti indeholder mere end de tilladte 259 tegn:
  [[C: \ Nogle-virkelig-lang-259-tegn-sti-her]]


Bedste reference


Det viser sig, at disse .datasource-filer kan slettes, da de ikke er nødvendige for at bygge projektet. Så vi gjorde bare et feje af alle .datasource-filer i TFS, og slettede dem.


Denne artikel fortæller mere om dette. [1]

Andre referencer 1


259? Faktisk er 32 k ved NTFS, men Windows Explorer grænser til '256'. Der er visse Windows API'er, som giver mulighed for at oprette og håndtere længere stier op til den reelle grænse for NTFS ~ 32k, den rigtige effekt på 2, men det meste af softwaren bruger ikke rigtig disse indfødte apis ...


se her: Maksimum filnavn længde i NTFS (Windows XP og Windows Vista)?.


En mulighed ville være at bruge overgang værktøj fra Sys Internals og krydse din lange grensti til noget meget kortere direkte i C #. Alt skal så fungere, fordi du kun vil bruge relative stier , Jeg formoder.