2008-09-25 6 views
7

Ce message est similaire à this previously asked question. Je souhaite vraiment configurer mon référentiel SVN au format TTB, mais lors de la création d'un projet dans Visual Studio 2008 (ASP.NET/VB.NET) , la structure créée a tendance à être incompatible en considérant le fichier de solution, les fichiers de projet, les dossiers de projets, plusieurs projets au sein de solutions, etc. Quelqu'un a-t-il un script ou une procédure pour prendre un nouveau projet ASP.NET? format aussi indolore que possible?Structure des projets dans le contrôle de version - .NET spécifique


Permettez-moi d'être plus précis. Supposons que j'ai un projet que je crée appelé StackOverflowIsAwesome. Je peux mettre cela dans ma structure de dossiers locale (disons que c'est c: \ working). Quand je le crée, VS crée c: \ working \ StackOverflowIsAwesome et tout un tas de sous-dossiers (bin, app_data, etc.). Mais je veux que ma structure de dépôt pour ressembler ...

 
StackOverflowIsAwesome 
    /trunk 
     /bin 
     /app_data 
    /tags 
    /branches 

Alors, est-il un moyen propre à faire toujours ou ai-je besoin de recourir constamment en mouvement/modification des fichiers et des dossiers pour faire ce travail?

Répondre

0

Si votre TTB est commun plutôt que par projet, il n'y a aucun problème. Ou est-ce que je manque quelque chose?

1

Nous sommes allés avec une approche très simpliste:

Structure du fichier:

  • solution de dossiers (contenant des fichiers de solution, créer des scripts, peut-être plus?)
    • Dossier projet
    • Dossier de projet 2
    • Références (contient une des assemblages pour la solution).

Ensuite, nous vérifions tout le contenu de l'intégralité du dossier de solution dans notre référentiel. Nous utilisons un référentiel pour chaque solution. Je ne suis pas sûr que ce soit la façon optimale d'organiser la solution, mais cela fonctionne pour nous.

En outre, nous branchons au plus haut niveau, pas par projet.

+0

Nous faisons exactement la même chose avec des groupes de projets de taille solution. Nous avons également des éléments de projet uniques plus petits (tels que des bibliothèques communes). c'est un TTB par projet pour ceux-ci (le fichier de solution peut être inclus dans le répertoire du projet pour les célibataires si désiré). – VanSkalen

0

Vous pouvez regarder ce previous post ou ce project. Le projet crée une arborescence de développement .NET (requiert .NET 3.5).

0

Lorsque vous gérez plusieurs projets constituant une solution Visual Studio, il est difficile de décider comment structurer les éléments correctement.

Un aspect critique que vous aurez besoin de faire avec votre structure est de faciliter la récupération de tous les fichiers pour une version particulière. Il est important de rendre cela aussi facile que possible. Dans Subversion, il est plus facile de copier un dossier racine sur les branches du tag que de répéter la même opération pour les projets X.

Il est également important de pouvoir travailler pendant de longues périodes à l'extérieur du coffre principal. Vous devrez aussi considérer cela.

Vous pouvez constater que votre logiciel a un certain nombre de composants qui se regroupent naturellement.Vous pourriez faire quelque chose comme ceci

/tag 

/core_library 
    /branch 
    /main 

/business_logic 
    /branch 
    /main 

/report_library 
    /branch 
    /main 

/my_ui 
    /branch 
    /main 

Il n'y a pas de réponse facile. Ce que vous faites dépend vraiment de votre projet spécifique. Si tout est encore en désordre, alors vous devez peut-être voir comment votre projet est conçu et voir si cela peut être changé pour améliorer la compréhension.

-1

je le fais de cette façon:

  1. Créer le projet dans VS
  2. Importer tout dans le dossier du projet aux mises en pension/projectname trunk/
  3. Ajouter les mises en pension/branches et prises en pension/tags dossiers

Cela me donne une structure comme référentiel:

projectname 
    /trunk 
     /bin 
     /obj 
     /Properties 
     projectname.sln 
    /tags 
    /branches 

Et je peux simplement laisser tous les fichiers à leur place par défaut dans le système de fichiers.

1

Une autre façon:

StackOverflowIsAwesome 
    /trunk 
    /database 
    /datafiles 
    /documents 
    /build 
    /installer 
    /lib 
     /External_DAL (external that points to shared library) 
    /utilities 
    /vendor 
    /src 
     /StackOverFlowIsAwesome 
     /StackOverFlowIsAwesome.csprj 
     /bin 
     /... 
     /StackOverFlowIsAwesomeTests 
     /StackOverFlowIsAwesomeTests.csprj 
     /bin 
     /... 
    /branches 
    /tags 

Ce serait pour chaque projet. Puisque nous utilisons un script de construction, nous n'avons pas besoin de stocker notre fichier de solution dans SVN.

0

Pour les plus grands projets que nous utilisons habituellement ce format ici:

/Project 
    /trunk 
     /lib/    # Binary imports here (not in svn) 

     /src    # Solution file here 
      /Libraries  # Library assemblies here 
      /StackOverflowIsAwesome.Common 

      /Products  # Delivered products here 
      /StackOverflowIsAwesome.Site 

      /Projects  # internal assemblies here 
      /StackOverflowIsAwesome.Tests 
    /branches 
     /1.x 
    /tags 
     /StackOverflowIsAwesome-1.0 

Selon le projet réel des fichiers non source (documents, etc.) ont un répertoire sous les ressources racine du tronc et de développement supplémentaires sont sous src .

Les projets indépendants sont sous leur propre/racine de projet, mais dans le même référentiel.

Questions connexes