.net 无法更新文件属性:访问被拒绝
以下代码使用.Net Framework 2.0从本地硬盘以管理员身份运行,有时会在第二行引发.net 无法更新文件属性:访问被拒绝,.net,security,permissions,io,.net,Security,Permissions,Io,以下代码使用.Net Framework 2.0从本地硬盘以管理员身份运行,有时会在第二行引发UnauthorizedAccessException: IO.File.SetAttributes(File, IO.FileAttributes.Normal) IO.File.SetAttributes(File, IO.FileAttributes.Archive) 这发生在网络驱动器上。错误的文件拥有奇怪的权限(见文章末尾),尽管读写操作非常完美 更糟糕的是,即使从资源管理器尝试更改权限也会
UnauthorizedAccessException
:
IO.File.SetAttributes(File, IO.FileAttributes.Normal)
IO.File.SetAttributes(File, IO.FileAttributes.Archive)
这发生在网络驱动器上。错误的文件拥有奇怪的权限(见文章末尾),尽管读写操作非常完美
更糟糕的是,即使从资源管理器尝试更改权限也会失败,首先请求管理员权限,然后仍然失败:
有什么想法吗?我完全不知所措
以下是文件权限的屏幕截图: 这一个有效: 这一条没有:
我一点也不懂法语(这是正确的语言吗?),但第一种语言似乎有效,因为您是服务器端的用户(Linux用户)。在网络驱动器上工作时,您必须在服务器上具有更改文件属性的权限。否则,必须在服务器端对其进行更改 编辑:某些服务器还可以在保存到网络驱动器时更改文件权限,具体取决于服务器设置和文件类型。这些更改可能被锁定,只有具有服务器凭据的人才能修改这些更改,然后代码会因该异常而失败
Edit2:也有可能通过索引将其绑定到服务器端,几分钟后,您将获得访问权限 这是法语,但它只说“拒绝访问”。为什么文件可以写入,但其属性无法更改?@Clement可能该文件是以只读方式访问的,用于索引、服务器上的病毒监控,或者可能是服务器端更改了属性,通过这样做,更改了权限,即使您最初使用其凭据保存了该文件。在我工作的本地网络上,我看到某些文件类型会发生这种情况。服务器也可以更改文件的所有权,并阻止属性修改。@Clement您有权访问网络或服务器端,还是有权访问服务器端的人?也许他们可以将您添加到用户组中,这样您也可以访问这些文件。此外,当它从资源管理器请求管理员权限时,它可能会引用您可能没有的网络端权限