次の関数は Windows XP で動作しますが、Windows 7 で試してみると、IdentityNotMappedException エラーが返されます。何が問題なのですか? また、アプリケーションの要求された実行レベルを管理者に変更しました。
private static void file_accessdeny(string fileName)
{
try
{
System.Security.AccessControl.FileSecurity accessdeny = System.IO.File.GetAccessControl(fileName);
accessdeny.SetAccessRule(new System.Security.AccessControl.FileSystemAccessRule("Everyone", System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Deny));
System.IO.File.SetAccessControl(fileName, accessdeny);
}
catch (System.Exception E)
{
Console.WriteLine(E.Message);
System.Windows.Forms.MessageBox.Show(E.Message, "access deny");
}
}
エラー: System.Security.Principal.IdentityNotMappedException: 一部またはすべての ID 参照を変換できませんでした