J'essaie d'écrire un test qui, dans ses installations de configuration, il sauvegarde un fichier et supprime l'original, exécute le test sans l'original présent, puis dans le démontage, restaure l'original de la sauvegarde. Le fichier se trouve dans mon dossier% ProgramFiles%. Je reçois une exception UnauthorizedAccessException sur l'instruction fileInfo.Delete(). Je n'ai aucun problème à supprimer ce fichier d'un autre projet de test sur la même machine qui ne fonctionne pas à partir de Resharper Test Runner.Pourquoi ne puis-je pas supprimer un fichier dans% ProgramFiles% à partir d'un test unitaire via le test d'unité de test de Resharper?
Je ne peux pas déplacer le fichier ailleurs - c'est ssapi.dll, une DLL installée pour Visual SourceSafe. (Oui, je fais quelque chose d'invasif dans un test d'unité.)
C'est le même utilisateur (moi) pour les deux façons - je l'ai vérifié via le Gestionnaire des tâches. Mon compte d'utilisateur est membre du groupe Administrateurs local. Quels sont les autres facteurs qui déterminent mon "Autorisation" à faire quelque chose avec un fichier? RÉSOLU: Bien qu'il ne réponde pas à ma question initiale (dont j'aimerais toujours connaître la réponse), j'ai trouvé une solution de contournement à mes fins de test, en utilisant le framewok System.Security.Permissions. Demande de FileIOPermissionAccess.Read dans le code app (non-test) qui nécessite le fichier (pour un appel Interop), et un refus pour le même dans le test de ce code qui nécessite un scénario que ce fichier n'est pas là. Cela devrait fonctionner pour l'instant (et j'apprécie avoir appris un peu plus sur l'espace de noms System.Security.Permissions)!