Я наткнулся на тот же вопрос сегодня и подумал, что следующий ответ будет полезен для других, поэтому подумал написать его.
Таким образом, мой код должен был открыть заданный путь к каталогу в проводнике, как показанониже
public static void OpenDirectoryPath(string directoryPath)
{
if (Directory.Exists(directoryPath))
{
Process.Start(directoryPath);
}
}
Приведенный выше код выдает следующую ошибку
CA2122: Microsoft.Security: 'Helper.OpenDirectoryPath (string)' вызывает в Process.Start (string) 'который имеет LinkDemand.При выполнении этого вызова Process.Start (string) косвенно предоставляется пользовательскому коду.Просмотрите следующий стек вызовов, который может обойти защиту:
Вопрос, который нужно задать, заключается в том, действительно ли вы хотите, чтобы этот метод был общедоступным.В моем случае ответ был «Нет».Изменение метода на внутренний решило проблему.
internal static void OpenDirectoryPath(string directoryPath)
{
if (Directory.Exists(directoryPath))
{
Process.Start(directoryPath);
}
}