J'ai récemment commencé à obtenir des erreurs System.UnauthorizedAccessException lors de l'utilisation de File.AppendAllText pour écrire sur un lecteur partagé sur le réseau. Je pense qu'il y a eu des changements dans le réseau quand cela s'est produit. Le code dans ma demande n'a pas changé.UnauthorizedAccessException avec File.AppendAllText dans VB.NET
J'ai demandé à notre service informatique de m'accorder l'autorisation complète pour le dossier. Je peux voir que j'ai des autorisations pour Modifier, Lire & Exécuter, Lire, Ecrire sous mon nom d'utilisateur si je navigue vers le fichier et regarde l'onglet Sécurité sous propriétés. Je fais également partie d'un groupe avec lire, écrire et modifier les permissions dans le dossier.
Cela fonctionne sans erreur dans le même dossier:
File.WriteAllText(myFile, myText)
Cela génère une erreur de System.UnauthorizedAccessException lorsqu'il atteint la 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
J'ai essayé de supprimer le fichier et la création de nouveau , cela n'a fait aucune différence.
J'ai essayé File.SetAttributes (myFile, FileAttributes.Normal) Le département IT ne peut pas voir quel est le problème.
Je peux ouvrir, modifier et modifier manuellement le fichier. Le problème ne se pose que si j'essaie de le faire par programmation.
Y a-t-il un 'utilisateur' différent qui essaie de modifier les fichiers? Est-ce que le fichier pourrait être ouvert d'une manière ou d'une autre, ou cela générerait-il une erreur différente?
J'utilise VB.NET 2012, NET Framework 4.5, de Windows 8.1
Y a-t-il une exception InnerException dans l'exception que vous obtenez? http://msdn.microsoft.com/en-us/library/system.exception.innerexception(v=vs.110).aspx – Aybe