Je travaille régulièrement sur plusieurs solutions pour créer des outils spécifiques à des clients. En revanche, j'ai tendance à réutiliser régulièrement des pans entiers d'un programme dans un autre, notamment des classes dédiées à faire des actions communes à tous les programmes.
C'est quelque chose que j'ai énormément de mal à gérer proprement dans Visual Studio et Git.
Solution 1 : - Compiler une DLL, la mettre dans Git, et utiliser une inode dans les autres projets lors de l'import de la DLL => Problème : si quelqu'un fait évoluer la DLL, elle n'est pas mise à jour dans les différents repos des autres projets dans devoir pull le projet partagés.
Solution 2 : - Ajouter le projet dans les différentes solutions. Seulement c'est pas dans le même dossier sur le disque et Git se perd.
Solution 3 : - Idem solution 2 mais en faisant une inode à partir du dossier de la solution vers le dossier du projet partagé. => À nouveau c'est le bordel si on travaille sur plusieurs projets, Git se perd et on a des versions différentes d'un projet à l'autre, des modifs poussées plusieurs fois, etc.
Bref. Comment gérer ça proprement ? Reste bien la solution de publier un nuget, mais je vais pas s'oublier un truc que se moi utilisé... D'autant que j'ai pas forcé envie de partager mon code...
Marsh Posté le 23-11-2022 à 11:56:38
Bonjour,
Je travaille régulièrement sur plusieurs solutions pour créer des outils spécifiques à des clients.
En revanche, j'ai tendance à réutiliser régulièrement des pans entiers d'un programme dans un autre, notamment des classes dédiées à faire des actions communes à tous les programmes.
C'est quelque chose que j'ai énormément de mal à gérer proprement dans Visual Studio et Git.
Solution 1 :
- Compiler une DLL, la mettre dans Git, et utiliser une inode dans les autres projets lors de l'import de la DLL
=> Problème : si quelqu'un fait évoluer la DLL, elle n'est pas mise à jour dans les différents repos des autres projets dans devoir pull le projet partagés.
Solution 2 :
- Ajouter le projet dans les différentes solutions. Seulement c'est pas dans le même dossier sur le disque et Git se perd.
Solution 3 :
- Idem solution 2 mais en faisant une inode à partir du dossier de la solution vers le dossier du projet partagé.
=> À nouveau c'est le bordel si on travaille sur plusieurs projets, Git se perd et on a des versions différentes d'un projet à l'autre, des modifs poussées plusieurs fois, etc.
Bref. Comment gérer ça proprement ?
Reste bien la solution de publier un nuget, mais je vais pas s'oublier un truc que se moi utilisé... D'autant que j'ai pas forcé envie de partager mon code...