Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur lors d'un déplacement de dossier

Directory.Move

Sujet résolu
    29 juin 2011 à 17:22:54

    Hello, amis Zér0s, voici un problème qui m'embête au plus au point depuis plusieurs jours.

    Dans mon application je dois prévoir un cas où les projets stockés sur mon ordinateur (ces projets sont des dossiers contenant des projets Visual Studio) seront déplacés dans un dossier Temp. j'affiche dans un DataGridView les différents projets, en faisant au préalable des boucles sur les dossiers pour récupérer tous les projets.
    Je sélectionne les projets voulus, je clique sur le bouton permettant de déclencher l'événement contenant mon instruction de copie, mais j'ai le droit à un joli "Accès au fichier d'accès ... Accès refusé" en guise de message d'Exception (et un InnerException égal à null)

    Je ne sais pas quoi faire, il y a t'il un moyen de fermer les dossiers utilisés précédement? Ces deux dossiers (source et destination) sont des dossiers placés dans "Mes Documents", donc à priori il y a pas de droits...

    Si vous voulez le code je vous le posterais demain (vu que c'est un projet de stage). Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      29 juin 2011 à 22:32:07

      Et dans la liste des exceptions, il n'y en a pas une seule qui correspond à ton cas??

      UnauthorizedAccessException, y'en a pas 36 versions possible dans cette doc. Es-tu certain que le programme, l'utilisateur qui l'exécute ou l'appelant de la méthode qui contient le Directory.Move a bien les droits nécessaire sur les dossiers? Peut-être faire un test en exécutant l'application en tant qu'administrateur pour voir si ça ne résout pas le soucis.

      Peut-être qu'un peu de code pourrait aider aussi (Quoique juste pour voir "Directory.Move(source, dest)", je vois pas en quoi ce serait une précision :s )

      Précise le système d'exploitation, la version du Framework .NET employée et la technologie aussi stp.
      • Partager sur Facebook
      • Partager sur Twitter
        30 juin 2011 à 9:18:12

        Merci de t'intéresser à mon problème :)

        Concernant l'exception, c'est une exception du type IOException.

        Citation : Nisnor


        Peut-être qu'un peu de code pourrait aider aussi (Quoique juste pour voir "Directory.Move(source, dest)", je vois pas en quoi ce serait une précision :s )



        Effectivement, c'est pour ça que j'ai pas mis mon code, pour ne pas embrouiller les membres qui me lisent ^^

        Je ne peux pas l'exécuter en tant qu'administrateur parce que je suis un simple utilisateur de ce poste (enfin j'ai un profil réseau quoi, donc j'ai pas le mot de passe administrateur).
        J'essaierais de demander à mon tuteur plus tard si il peut l'exécuter.

        Il m'a aussi conseiller un DoEvents() au cas où des traitements bloqueraient, mais ça ne change rien.

        Concernant mon environement, je suis sous Windows XP Pro SP3, je code en C# avec Visual Studio Pro 2005 et il me semble que le framework utilisé est le 3.0 (ou 2.0).

        Edit : Si ça peut aider, le dossier spécifié dans l'exception correspond à mon dossier source.

        Edit 2 : J'arrive à le déplacer à partir d'un autre programme =/
        • Partager sur Facebook
        • Partager sur Twitter
          1 juillet 2011 à 11:38:40

          Là comme ça, je ne vois vraiment pas ce qui peut être la cause de ce problème o_O

          J'ai vu que tu avais marqué le problème comme résolu...Si tu pouvais expliquer le pourquoi du comment, je ne dirais pas non :D
          • Partager sur Facebook
          • Partager sur Twitter
            1 juillet 2011 à 13:21:34

            Bah en fait c'était vis à vis du contenu du fichier. Je récupérais la version d'une DLL, et ensuite je voulais la déplacer, sauf que l'Assembly se chargeait dans l'AppDomain, alors que normalement il aurait pas du le faire (Utilisation de la méthode ReflectionOnlyLoadFrom avec le chemin du fichier), j'ai du utiliser la méthode ReflectionOnlyLoad avec un array de Bytes pour qu'il me le laisse déplacer (et encore, j'ai encore des soucis). En gros c'était un problème un peu con >< j'ai vu que la DLL posait problème quand j'ai voulu faire une suppression récursive, ça bloquait sur elle.
            • Partager sur Facebook
            • Partager sur Twitter
              1 juillet 2011 à 16:51:13

              Donc si ça peut te servir un jour, fait attention quand tu veux récupérer l'extension d'un assembly (dll ou exe) ;)
              • Partager sur Facebook
              • Partager sur Twitter

              Erreur lors d'un déplacement de dossier

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown