使用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
答案 0 :(得分:0)
网络变化是问题所在。现在似乎无法解决这个问题。相反,我制作了文本数据的副本,将我的新文本附加到该文本,删除文件,并将更新的文本保存到新文件。