5

アプリケーションで不正アクセス エラーが発生しています。アプリケーションの実行中に、次の場所にあるディレクトリにアクセスしようとしました: Application.UserAppDataPath.

問題: Application.UserAppDataPath ディレクトリにアクセスする権限がないと表示されます

アプリケーションのソース コード内でアクセス許可を設定する方法はありますか?

何かのようなもの:

Application.UserAppDataPath.SetPermissions()
4

2 に答える 2

13

あなたのコメントを見ると、これがあなたのコードだと言います:

StreamReader sr = new StreamReader(Application.UserAppDataPath);

Application.UserAppDataPathファイルではなくディレクトリです。それを直接開こうとすると、AppData フォルダーの 1 レベルのファイルを開こうとするのと同じことになり、実際にはアクセス許可がありません。

AppData フォルダー内のファイルPath.Combineへのパスを作成するために使用します。つまり、

string fileName = Path.Combine(Application.UserAppDataPath, "settings.xml");
StreamReader sr = new StreamReader(fileName);

もちろん、これは単なる例です。実際には、アプリケーションに固有の AppData 内のサブフォルダーを使用する必要があります。

于 2010-03-04T02:38:29.237 に答える
2

おそらくUACの問題です。アプリケーションを昇格したプロセスとして実行してみて、エラーが続くかどうかを確認してください

于 2010-03-04T02:02:05.553 に答える