J'ai un problème avec la fonctionnalité "Copier vers la sortie" dans Visual Studio 2008. Peut-être que je ne comprends pas comment cela fonctionne.Référence du projet Visual Studio 2008
J'ai une solution avec quatre projets:
- TestApp1 (application Windows)
- TestAppA (application Windows)
- TestProj1 (bibliothèque de classe)
- TestProjA (bibliothèque de classe)
Les dépendances sont les suivantes (dépendance comme dans la référence du projet).
- TestProj1 ne dépend de rien.
- TestApp1 dépend TestProj1
- TestProjA dépend TestProj1
- TestAppA dépend TestProjA (et donc indirectement sur TestProj1)
En d'autres termes, l'arbre de dépendance ressemble à ceci.
TestApp1
TestProj1
TestProjA
TestProj1
TestAppA
TestProjA
TestProj1
(chaque projet a une référence aux ensembles standard (système, System.Core, etc.), ainsi)
En TestProj1, j'ai ajouté un fichier texte, Test.txt. Dans les propriétés de ce fichier, j'ai spécifié "Action de construction: contenu" et "Copier dans le répertoire de sortie: Copier toujours".
Lorsque je construis la solution, Test.txt est recopié à
- TestApp1 \ bin \ Debug
- TestProj1 \ bin \ Debug
- TestProjA \ bin \ Debug
Le le fichier est et non copié dans TestAppA \ bin \ debug et c'est ce que je trouve bizarre. Puisque TestProj1 s'appuie sur Test.txt pour fonctionner, et que TestAppA repose sur TestProj1, via TestProjA, TestApp1 ne fonctionnera pas.
Si j'ajoute une référence de projet de TestAppA directement à TestProj1 (donc j'ai une référence à TestProj1 et une autre à TestProjA), le fichier sera copié dans le dossier TestAppA \ bin \ debug.
Bien sûr, je pourrais configurer un événement de construction personnalisé pour copier le fichier Test.txt vers TestAppA \ bin \ debug, mais j'ai de mauvaises expériences avec les événements de construction personnalisés et je préférerais me fier aux mécanismes de copie intégrés . Donc, ma question est: Pourquoi Test.txt n'est pas copié dans TestAppA \ Bin \ debug?
+1 pour la suggestion d'encapsulation. – Todd