Ограничение в 260 символов - это не ограничение файловой системы, а Win32 API. Win32 определяет MAX_PATH как 260, который используется API для проверки длины пути, передаваемого в функции, такие как FileCreate, FileOpen и т. Д. (Которые используются .NET в BCL).
Однако вы можете обойти правила Win32 и создать пути длиной до 32K символов. В основном вам необходимо использовать синтаксис "\\? \ C: \ MyReallyLongPath \ File.txt", который вы не можете видел раньше. В последний раз я проверял, что классы File и FileInfo в .NET не позволяют использовать этот тип пути, но вы определенно можете сделать это из C / C ++. Вот ссылка для получения дополнительной информации.
http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx