使用VB.NET中的File.AppendAllText进行UnauthorizedAccessException

时间:2014-09-10 13:59:19

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

使用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 framework 4.5,Windows 8.1

1 个答案:

答案 0 :(得分:0)

网络变化是问题所在。现在似乎无法解决这个问题。相反,我制作了文本数据的副本,将我的新文本附加到该文本,删除文件,并将更新的文本保存到新文件。