Hello à tous,
un titre énigmatique pour un problème difficile à décrire de façon concise
Voila. Supposons que l'on developpe plusieurs applications (dont App1.exe), dans plusieurs solutions différentes. Il y a de fortes chances que ces applis aient des références en commun, sur une assembly que l'on a développé (disons Lib.dll). On a alors deux choix :
L'avantage de la seconde solution est entre autres d'accélérer la compilation.
- Soit inclure le projet Lib dans la solution du projet App1, et rajouter une dependance inter projet
- Soit ajouter une référence vers Lib.dll
Mais !
Contrairement a Visual C++, il n'est pas possible d'avoir des references differentes entre Debug et Release. Et pourtant, quand on debugue, on veut aussi bien debuguer l'exe et la dll en meme temps.
Ma question est donc la suivante : quel est le meilleur moyen de referencer une assembly dont on se sert dans de nombreux projets ? Est-ce que vous integrez leurs projets dans toutes vos solutions ? Ou bien avez-vous cette Lib dans une solution a part, et ne referencez ensuite que la version compilée ?
Un collègue, habitué a C++, a DEDOUBLE tous ses projets et solutions : avec un APP1_D.csproj, un APP1_R.csproj, APP1_D.sln, APP1_R.sln, et APP1_D.csproj qui va référencer l'assembly \Debug\Lib.dll et APP1_R.csproj qui va referencer l'assembly \Release\Lib.dll. Avec la solution ..._D a ne compiler qu'en debug, et ..._R qu'en release.
C'est un poil la *@\#$ a synchroniser, en plus d'être moche. Des idées ? des bonnes pratiques à suggérer ?
Note : je code en C#, mais la problématique est sûrement plus générale.
Partager