2014-09-10 68 views
0

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

我要求我们的IT部门授予我对文件夹的完全权限。我可以看到我有修改的权限,请参阅&如果我导航到该文件并查看属性下的安全选项卡,执行,读取,写入我的用户名下。我也是读取,写入和修改文件夹权限的一部分。

这工作没有错误在同一文件夹:

File.WriteAllText(myFile, myText) 

这生成一个System.UnauthorizedAccessException的错误,当它到达AppendallText:

  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

+0

在得到的异常中是否存在InnerException? http://msdn.microsoft.com/en-us/library/system.exception.innerexception(v=vs.110).aspx – Aybe 2014-09-10 16:08:46

回答

0

网络更改是问题。这似乎不可能解决这个问题。相反,我制作了一个文本数据的副本,附加了我的新文本,删除文件,并将更新的文本保存到一个新文件。