2

要素を変更する必要がある XML ファイルがあります。デスクトップにコピーしたファイルを使用してアプリケーションをテストしていましたが、正常に動作しました。

デフォルトでは、XML ファイルは C:\Users\myPC\AppData\Roaming\direc にあります。

私のアプリケーションは使用します

string pathToXml = @"C:\Users\myPC\AppData\Roaming\direc\cqn.xml";

必要な変更を行う関数へのパスを渡すには。

しかし今、パスへのアクセスが拒否されたというエラーが表示されます。この質問は以前にもあったことを知っているので、申し訳ありません。しかし、私が探しているのは残念ながら役に立ちません。

  • UAC をオフにして管理者として W8 x64 を実行する
  • 管理者としてVisual Studioを実行しても役に立ちません(別のスレッドで提案されているように)
  • ビルドされた .exe ファイルを管理者として実行しても役に立たない
  • ファイルとフォルダーは存在し、別のプロセスで使用されていません。

ファイルを編集する部分のすぐ上にこれを追加しようとしましたが、うまくいきませんでした:

            FileSecurity fSec = System.IO.File.GetAccessControl(pathToXml);
        fSec.AddAccessRule(new FileSystemAccessRule(Environment.UserName,
            FileSystemRights.FullControl, AccessControlType.Allow));

        File.SetAccessControl(pathToXml, fSec);

        DirectorySecurity dSec = System.IO.Directory.GetAccessControl(pathToXml);
        dSec.AddAccessRule(new FileSystemAccessRule(Environment.UserName,
            FileSystemRights.FullControl, AccessControlType.Allow));

誰かがこれで私を助けてくれますか? 御時間ありがとうございます。

4

0 に答える 0