13

Windows ma ograniczenie 259 znaków w ścieżkach. Niestety, zaczyna to powodować problemy z powodu niektórych naszych nazw usług.Jak kontrolować nazwy plików dla .NET Service References?

Na przykład, mamy oddział TFS z już długą drogę, a następnie referencje serwis NET prawie dwukrotnie, bo to zawsze używać w pełni kwalifikowanej nazw jako nazwa pliku:

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

AFAIK , nie możesz zmienić nazwy odwołania do usługi - ale Ihoping się mylę. Czy można to zrobić?

Jeśli nie, czy istnieją inne możliwe rozwiązania tego denerwującego problemu?

EDYCJA: Wiem, że jednym z oczywistych rozwiązań byłoby skrócenie naszych przestrzeni nazw i/lub ścieżek, ale zakładam, że nie możemy tego zrobić w tym przypadku. :) Próbuję głównie dowiedzieć się, jak kontrolować nazwy plików dla referencji usług.

AKTUALIZACJA: Głównym problemem, który mam do czynienia jest, gdy TFS nie pozwala mi uzyskać najnowsze informacje na temat konkretnego oddziału. Oto dokładny błąd:

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

Odpowiedz

12

Okazało się, że pliki .datasource mogą zostać usunięte, ponieważ nie są potrzebne do zbudowania projektu. Po prostu przeszukaliśmy wszystkie pliki .datasource w TFS i usunęliśmy je.

This article mówi o tym więcej.

-1

259? w rzeczywistości jest 32 KB według NTFS, ale ograniczenia Eksploratora Windows do "256", istnieją pewne API Windows, które pozwalają tworzyć i obsługiwać dłuższe ścieżki do rzeczywistego ograniczenia NTFS ~ 32k, właściwej mocy 2, ale większość oprogramowania tak naprawdę nie używa tych natywnych apis ...

patrz tutaj: Maximum filename length in NTFS (Windows XP and Windows Vista)?.

Możliwość byłoby użyć skrzyżowaniu narzędzie z SYS Internals i Junction to Twój długa droga oddział do czegoś znacznie krótszym bezpośrednio w C#, wszystko powinno działać, ponieważ wówczas należałoby użyć tylko ścieżki względne, jak sądzę.

+0

Dzięki za odpowiedź. Masz rację, limit wynosi 256. Zostałem wprowadzony w błąd przez błąd, który dostałem z TFS (patrz powyższa aktualizacja), tak jakby dopuszczało do 259 znaków. –

Powiązane problemy