Из того, что я знаю, это не легко возможно. Хотя можно использовать обходной путь для потоков, как упоминалось в Phoenix, это невозможно для обработки имен файлов. Внутри каждого класса, который работает с именами файлов, выполняется проверка длинных имен файлов.
Вы можете создать экземпляр FileInfo и заполнить частные члены, используя отражение (однако это не рекомендуется), и получить FileInfo, указывающий на файл с длинным путем. Но когда вы попытаетесь использовать этот объект, вы все равно получите исключения PathTooLongException, потому что, например, класс Path (интенсивно используемый FileInfo) проверяет длинный путь при каждом вызове метода.
Таким образом, есть только один правильный способ получить беспроблемную поддержку длинных путей - реализовать собственный набор классов, который будет имитировать поведение FileInfo. Это не очень сложно (возможно, только безопасность), но отнимает много времени.
Обновление: Вот даже два готовых решения этой проблемы: AlpfaFS и Дзета-длинные пути