ファイルにユーザー入力を書き込む必要がある単純なC#アプリケーションを構築しています。C#とFile.WriteAllTextエラー
私の最初の問題は、ユーザーが設定ファイルのパスを設定できるようにすることですが、次の起動時に設定ファイルを読むことができるようにすることです。
私の第二の問題は、私のようなものを使用する場合:
File.WriteAllText(@"C:\Users\Public\settings.settings", message);
私は次のエラーを取得:
System.Security.SecurityException: Request for the permission of type
'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at
System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark&
stackMark, Boolean isPermSet) at System.Security.CodeAccessPermission.Demand()
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access,
Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions
options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize)
at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
at System.IO.File.WriteAllText(String path, String contents, Encoding encoding)
at IMDBGrabber.frmSettings.writeToFile(String p)
The action that failed was: Demand
The type of the first permission that failed was: System.Security.Permissions.FileIOPermission
The Zone of the assembly that failed was: MyComputer
任意のアイデア?
アプリケーションを実行しているユーザーごとに、対象のフォルダのアクセス許可を確認してください。 try catchを使用してSecurityExceptionをトラップします。 –