【问题标题】:UnauthorizedAccessException with File.AppendAllText in VB.NETVB.NET 中带有 File.AppendAllText 的 UnauthorizedAccessException
【发布时间】:2014-11-04 05:16:49
【问题描述】:

我最近在使用 File.AppendAllText 写入网络上的共享驱动器时开始收到 System.UnauthorizedAccessException 错误。我认为发生这种情况时网络发生了一些变化。我的应用程序中的代码没有改变。

我已要求我们的 IT 部门授予我对该文件夹的完全权限。如果我导航到文件并查看属性下的安全选项卡,我可以看到我在我的用户名下拥有修改、读取和执行、读取、写入的权限。我也是对文件夹具有读取、写入和修改权限的组的成员。

这在同一个文件夹中没有错误:

 File.WriteAllText(myFile, myText)

这会在到达 AppendallText 时生成 System.UnauthorizedAccessException 错误:

         If File.Exists(myFile) = False Then
            ' Create a file to write to.
            Dim createText As String = logTime & " " & report_data
            File.WriteAllText(myFile, createText)
        Else
            Dim appendText As String = logTime & " " & report_data
            File.AppendAllText(myFile, appendText)
        End If

我已尝试删除文件并重新创建它,但没有任何区别。
我试过 File.SetAttributes(myFile, FileAttributes.Normal) IT 部门看不到问题所在。

我可以手动打开、更改和修改文件。仅当我尝试以编程方式执行此操作时才会出现问题。

是否有不同的“用户”尝试修改文件?文件可以以某种方式打开,还是会产生不同的错误?

我正在使用 VB.NET 2012、.net 框架 4.5、Windows 8.1

【问题讨论】:

标签: vb.net file-io file-permissions


【解决方案1】:

网络更改是问题所在。似乎无法按原样解决此问题。相反,我制作了文本数据的副本,将我的新文本附加到其中,删除文件,并将更新的文本保存到新文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多