別のプロジェクトの場合、私のコードはファイルを読み取り、古いファイルを破棄して新しいファイルをビルドします。ただし、古いファイルから FileSecurity AccessControl を取得して新しいファイルに適用する必要があります。私はC#にかなり慣れていないので、以前にFileSecurityを使用したことがありません。以下は私が思いついたものです。エラーは発生しませんが、動作していないようです。
public static void Main()
{
try
{
string fileName = "test.txt";
FileInfo fi = new FileInfo(fileName);
FileSecurity fs = fi.GetAccessControl();
Console.WriteLine("Got perms");
Console.Read();
Console.WriteLine("Adding access control to " + fileName);
fi.SetAccessControl(fs);
Console.WriteLine("Done.");
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.Read();
}
私がテストするために行うことは、ユーザーがファイルを完全に制御できるように設定することです。プログラムを前半まで実行し、ファイルを削除して、完全な制御なしで再度作成し、プログラムを終了させます。ただし、ファイルのセキュリティ タブに移動すると、フル コントロールが表示されません。古いファイルを削除した後、新しい FileInfo オブジェクトを作成しようとしましたが、それもうまくいきませんでした。
どんな提案でも最も役に立ちます