指定された場所にディレクトリを作成していますが、StreamWriterでアクセスしようとしていますが、「アクセスが拒否されました。作成したディレクトリにアクセスするとUnauthorizedAccessExceptionが発生する
何が起こっているのかも知りませんか?
私のコードはこれです:System.IO.FileStream.Init(文字列のパスにSystem.IO .__ Error.WinIOError(のInt32のerrorCode、文字列maybeFullPath) で
:
if (!Directory.Exists(dirPath))
Directory.CreateDirectory(dirPath);
var a = HasWritePermissionOnDir(dirPath); <- This is only here to see if the value is true and it is.
tw = new StreamWriter(dirPath);
public static bool HasWritePermissionOnDir(string path)
{
var writeAllow = false;
var writeDeny = false;
var accessControlList = Directory.GetAccessControl(path);
if (accessControlList == null)
return false;
var accessRules = accessControlList.GetAccessRules(true, true, typeof(System.Security.Principal.SecurityIdentifier));
if (accessRules == null)
return false;
foreach (FileSystemAccessRule rule in accessRules)
{
if ((FileSystemRights.Write & rule.FileSystemRights) != FileSystemRights.Write) continue;
if (rule.AccessControlType == AccessControlType.Allow)
writeAllow = true;
else if (rule.AccessControlType == AccessControlType.Deny)
writeDeny = true;
}
return writeAllow && !writeDeny;
}
フルスタックトレース、FileModeモード、FileAccessアクセス、Int32権限、Boolean useRights、FileShare共有、Int32 bufferSize、FileOptionsオプション、SECURITY_ATTRIBUTES secAttrs、String msgPath、Boolean bFromProxy、Boolean useLongPath) at System.IO.FileStream..ctor(文字列パス、FileModeモード、FileAccessアクセス、FileShare共有、Int32 bufferSize、FileOp System.IO.StreamWriter.ctor(String path、Boolean append、エンコードエンコード、Int32 bufferSize)の System.IO.StreamWriter.CreateFile(String path、Boolean append)の System.IO.StreamWriterの CにおけるAlertDemoSolution.MySqlUnitTest.TestMethod1で.ctor(文字列のパス) ():\ Tempに\ AlertDemoSolution \ AlertDemoSolution \ AlertDemoSolution \ MySqlUnitTest.cs:ライン23
このコードでは、どのようなことを書いていますか? – SLaks