Cette question a été posée il y a quelque temps, mais elle concerne le même type de problème que moi.
Le problème:
- Nous voulons vérifier notre code.
- Nous voulons ensuite construire notre projet.
- Pendant notre construction, nous dépendons des événements de construction pour déplacer les fichiers afin que nous ayons les fichiers appropriés en place pour que le processus de construction se termine.
- Lorsque notre événement de construction essaie de copier les fichiers, nous obtenons des erreurs d'accès refusé.
La raison:
- Le plug-in Visual Studio Team Foundation Server modifie l'attribut Lecture seule de nos fichiers en READONLY TRUE lorsque nous archivons nos fichiers.
Exemple d'événement de construction:
- copier "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
Ci-dessus, nous devons simplement déplacer un fichier de notre chemin de construction cible (les dossiers bin \ debug ou bin \ release) vers notre dossier de projet. Dans ma situation, c'était pour que je puisse inclure les fichiers générés par le projet dans mon programme d'installation. Mon installateur ne les a pas saisis dans le cadre de la sortie du projet.
Le correctif: (m'a presque donné un coup de pied au visage quand j'ai compris cela)
Nouvel événement de construction:
- attrib -R "$ (ProjectDir) SomeFile.ext"
- copier "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"
- attrib + R "$ (ProjectDir) SomeFile.ext"
Nous nous amusons tous avec Build Events, n'est-ce pas? Ci-dessus je fais simplement 2 choses, je supprime l'attribut lecture seule, maintenant les fichiers ne sont pas en lecture seule. Copiez mon fichier comme je le souhaitais à l'origine. Remplacez ensuite l'attribut en lecture seule (facultatif, je suppose) pour que Visual Studio et Team Foundations soient satisfaits.
Et oui ... je me donne toujours des coups de pied au visage sur celui-ci.