IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

Visual studio 2015 + GIT - Organisation des projets et solutions


Sujet :

Visual Studio

  1. #1
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut Visual studio 2015 + GIT - Organisation des projets et solutions
    Bonjour,

    J'aimerais utiliser GIT pour avoir un versionning de mes sources. J'ai donc réalisé quelques tests avec GIT qui à l'avantage d'être gratuit.
    Cependant je butte sur ce qui semble être un problème d'organisation/gestion de mes projets et de mes solutions. Dans mon organisation actuelle j'ai une solution par application finale. Ces solutions listes des projets de dll + le projet de l'application. Je procède ainsi puisque les dll peuvent être utilisées dans différentes applications. Mes sources sont donc toutes dans un dossier qui contient un dossier par projet de dll et un dossier par projets d'application. Ces derniers contenant un fichier csproj et un sln.

    Pour imager j'ai par exemple :
    ../Sources
    ../Sources/Article/Article.csproj
    ../Sources/Article/*.cs
    ../Sources/Client/Client.csproj
    ../Sources/Client/*.cs
    ../Sources/ApplicationSaisieCommande/ApplicationSaisieCommande.csproj
    ../Sources/ApplicationSaisieCommande/Main.cs
    ../Sources/ApplicationSaisieCommande/ApplicationSaisieCommande.sln

    article.csproj génère Article.dll
    client.csproj génère Client.dll
    et ApplicationSaisieCommande.csproj génére ApplicationSaisieCommande.exe

    Si j'ouvre ApplicationSaisieCommande.sln je vais avoir les 3 projets dans mon explorateur de solution et peut-être qu'un jour je vais retirer Article car rien ne bouge dans le projet article depuis longtemps car je travaille sur un autre domaine... et si j'en ai besoin je vais le recharger dans la solution.

    Donc pour moi les projets listés dans une solution peuvent être fluctuant, je pense pouvoir dire que je gère mes sources au niveau projet (csproj) et non pas au niveau d'une solution.

    En voulant brancher git sur une telle organisation j'ai visiblement 2 choix :
    - soit je crée une solution par csproj et donc un repo par projet et par solution. Sauf que si je charge les projets dll dans la solution de l'exe je n'ai pas accès au contrôle de code source de la dll, il faut forcément repartir de la solution de la dll pour pouvoir valider les modifications réalisées.
    - soit je mets tous les dossiers des sources des dll dans le dossier de l'application, a coté de ApplicationSaisieCommande.sln, alors je peux gérer le controle de code source sur l'ensemble des projets, mais cela me pose un problème car mes dll peuvent être appelées depuis plusieurs applications ... il me semble donc mal venu de les placer arbitrairement dans une application.

    Donc si quelqu'un avait un retour d'expérience sur son utilisation de git + visual studio ça pourrait m'aider.
    Je ne suis pas forcément réfractaire au changement et si vous trouvez que mon organisation n'est pas génial/fonctionnelle/idéale ... n'hésitez pas. Dans tous les cas je veux avoir un versionning de mes sources peut importe si je dois revoir mon organisation.

    Merci déjà pour ceux qui seront allés au bout de ce pavé.
    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2005
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2005
    Messages : 562
    Points : 1 511
    Points
    1 511
    Par défaut
    Vous l'aurez compris je ne suis pas un crack de GIT.

    J'ai cependant trouvé une solution à mon problème, c'est de sortir un peu de VS et utiliser Git GUI pour créer un dépôt sur un dossier vide, puis de placer dedans toutes mes sources (avec la même arbo que celle expliquée ci-dessus) et de recharger les modifications, ce qui a pour effet de lister tous les fichiers qui viennent d'être ajoutés dans le dépôt (pour ne pas me polluer avec les fichiers de compilation et autres fichiers inutiles, j'ai copié au préalable dans le dépot un des fichiers .gitignore généré par VS lors de mes tests).
    Je Commit le tout.
    Et je peut maintenant travailler comme j'avais l'habitude de le faire.

    Ma difficulté venait donc du fait que VS studio ne me permet pas de créer un dépôt qui englobe toutes mes sources, il faut forcément partir d'une solution... ce qui dans mon cas n'était pas adapté à ma façon de travailler .

    Je risque de revenir vous voir dans un prochain épisode ou je vais devoir pousser mes sources sur un serveur .

    En espérant que ça aide un jour un quelqu'un...

    J@ck.
    Pas de réponse par MP, merci.

    Penser au ça fait plaisir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/03/2010, 14h32
  2. [Visual Studio 2005]Intégration d'un projet dans un autre
    Par zooffy dans le forum Visual Studio
    Réponses: 5
    Dernier message: 12/04/2007, 13h51
  3. Réponses: 2
    Dernier message: 07/12/2006, 21h52
  4. Réponses: 2
    Dernier message: 09/07/2006, 17h40
  5. Réponses: 1
    Dernier message: 02/05/2006, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo