Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 目录.Delete-UnauthorizedAccessException_C#_.net - Fatal编程技术网

C# 目录.Delete-UnauthorizedAccessException

C# 目录.Delete-UnauthorizedAccessException,c#,.net,C#,.net,这些文件存在,我有权在我的域授权Windows帐户上删除它们,我正从该帐户编译和运行程序。我一直认为程序在网络驱动器上执行操作时将使用该帐户。不是这样吗 我曾尝试在windows中使用对文件夹和文件具有完全访问权限的帐户运行.exe,但显示了相同的错误。这是可行的,还是我需要在代码中做些什么来允许程序以特定用户的身份运行某些操作 目前,我没有在单独的线程或后台工作程序中运行代码。我只是创建了一个执行以下操作的方法: Directory.Delete(NetworkDirectory, true)

这些文件存在,我有权在我的域授权Windows帐户上删除它们,我正从该帐户编译和运行程序。我一直认为程序在网络驱动器上执行操作时将使用该帐户。不是这样吗

我曾尝试在windows中使用对文件夹和文件具有完全访问权限的帐户运行.exe,但显示了相同的错误。这是可行的,还是我需要在代码中做些什么来允许程序以特定用户的身份运行某些操作

目前,我没有在单独的线程或后台工作程序中运行代码。我只是创建了一个执行以下操作的方法:

Directory.Delete(NetworkDirectory, true);
Directory.Delete(NetworkDirectoryTwo, true);

如果您试图通过网络访问文件/目录,您需要在网络共享上设置适当的权限,而不仅仅是在实际文件夹上设置的权限,我们将不胜感激。因此,您的帐户可以完全访问
C:\MyData\*
,但如果它作为
\\mycomputer\MyData
共享,并且文件夹以只读方式共享,您将获得一个
UnauthorizedAccessException

我使用的帐户是一个对共享和驱动器都具有完全访问权限的域管理员帐户。@用户,这样您就可以成功浏览到
\\mycomputer\MyData
并通过Windows资源管理器删除其中的文件夹了吗?好吧,默认情况下,你的程序应该使用启动它的用户的凭据来访问网络资源。我也这么认为。奇怪的事情正在发生。是否有其他方法可以删除文件夹及其所有文件和子文件夹。我正试图弄清楚如何递归地实现这一点,但在想出一些有效的方法时遇到了一些麻烦。