PathTooLongException en código C #

tengo el siguiente código:

 public static void Serialize()
    {

        List<string> dirs = FileHelper.GetFilesRecursive(fileDirectoryPath);
        List<string> dirFiles = new List<string>();
        foreach (string p in dirs)
        {
            string path = p;

            string lastAccessTime = File.GetLastAccessTime(path).ToString();


            bool DirFile = File.Exists(path);
            FileInfo fInf = new FileInfo(path);
            long lengthInk = fInf.Length / 1024;

            DateTime lastWriteTime = File.GetLastWriteTime(p);
            dirFiles.Add(p + "|" + lastAccessTime.ToString() + "|" + DirFile.ToString() + "|" + lastWriteTime.ToString() + "|" + lengthInk.ToString() + " kb");


        }

Sigo golpeando un error de PathTooLongException con la siguiente línea:

string lastAccessTime = File.GetLastAccessTime(path).ToString();

La aplicación profundiza en una unidad y encuentra todos los archivos / carpetas w / en la unidad. No puedo cambiar esta ruta, pero como está por encima de los 260 caracteres ... ¿cómo solucionar esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta