Я пытаюсь получить информацию о безопасности некоторых файлов и каталогов в сетевой папке. К сожалению, пути к некоторым файлам и каталогам превышают лимит символов 260/248 соответственно. Я нашел так много информации об использовании Win32 P/Invoke, использовании .NET Framework 4.6.2 и т. д. Я смог использовать код Ким Гамильтон для повторения каждого файла и каталоги внутри, путь которых превышает лимит длины, но я не смог использовать его для получения информации о безопасности.
Ниже приведен мой простой код C#, содержащий путь длиной более 260 символов. Это вызовет исключение Path Too Long. Не могли бы вы помочь мне решить это в этом сценарии.
using System.IO;
using System.Security.AccessControl;
namespace Microsoft.Experimental.IO
{
class Program
{
public static void Main(string[] args)
{
string path = @"\\Domain\UserData\VeryLongPath"; //This is above 260 characters
DirectoryInfo info = new DirectoryInfo(path);
DirectorySecurity security = Directory.GetAccessControl(path);
}
}
}