2010-03-12 8 views
1

Mon entreprise dispose de plusieurs bibliothèques de classes que nous utilisons dans plusieurs projets de sites Web (pas de projets d'application Web). Les projets de sites Web n'ont pas de fichiers .sln, mais je suis sûr que j'ai lu dans mes recherches antérieures que vous pouvez faire une solution vierge et y mettre vos projets de site Web et de bibliothèque de classes.Comment mettre un projet de site Web ASP.NET et des projets de bibliothèque de classes dans un fichier .sln sur Subversion

Après des réponses à mes questions précédentes, c'est la direction que je vais (basé sur un peu http://amadiere.com/blog/2009/06/multiple-subversion-projects-in-one-visual-studio-solution-using-svnexternals/):

/websites 
    /website1 
     /trunk 
      /website1 
/libraries 
    /library1 
     /trunk 
      /library1 
    /library2 
     /trunk 
      /library2 
    /etc... 

Je rabotées sur l'utilisation svn: externals copier/library1,/Library2, et ainsi de suite dans le dossier working_copy/websites/website1 /.

Je souhaite que les membres de mon équipe puissent extraire le dossier/trunk de website1 et obtenir un fichier .sln,/library1 external,/library2 external, etc. Je souhaite que ce fichier .sln contienne le projet de site Web website1, et tous les projets externes de la bibliothèque. Il faut espérer que cela ressemblerait à quelque chose comme:

/working_copy 
    /websites 
     /website1 
      /trunk 
       /website1 
       /library1 (svn:external of libraries/library1/trunk/library1) 
       /library2 (svn:external of libraries/library2/trunk/library2) 
       /etc. 
       website1.sln 

Ainsi, à la fin de tout cela, le but est que mes coéquipiers vérifier le coffre, ouvrez la solution, et tout le monde a la même solution exacte. Lorsque nous nous engageons, tout est commis de manière appropriée à Subversion (le code du site Web, et les bibliothèques sont engagées à leur place appropriée sur le repo).

Comment les autres ont-ils résolu ces problèmes? Comment puis-je créer un fichier .sln que les membres de mon équipe et moi-même pouvons partager de cette manière?

+0

Votre question concerne la création d'une solution vide et l'ajout de projets ou l'organisation de la structure de la solution. –

+0

@Andrew: Je veux savoir comment créer un fichier de solution avec les projets de site Web et de bibliothèque que les membres de mon équipe peuvent ouvrir après avoir mis à jour leur copie de travail. Je veux aussi savoir si l'utilisation de svn: externals pour les projets de bibliothèque comme ça et les ajouter à cette solution est la bonne façon d'obtenir le comportement final souhaité. – JustinP8

Répondre

1

Je pense que votre approche à propos du code svn et de la structure du fichier de solution est la bonne. Aussi, c'est une bonne idée d'utiliser svn: externals comme vous l'avez décrit.

Pour créer une solution vierge, sélectionnez Fichier-> Nouveau-> Projet et choisissez Autres types de projets-> Solutions Visual Studio-> Solution vide. Après l'avoir créé, vous pouvez y ajouter des projets nouveaux ou existants en utilisant le menu Fichier-> Ajouter.

+0

Un problème mineur dans ma "preuve de concept" sur ceci est que toutes nos copies de travail devront avoir la même structure de fichier puisque le projet de site a le chemin de fichier de la machine cliente dessus ... c'est absolu, pas relatif . Est-ce correct? – JustinP8

+0

@ JustinP8: Je ne suis pas sûr de vous comprendre - toutes les copies de travail auront la même structure de fichier - la même structure que dans svn repository. Quel chemin voulez-vous dire dans "projet de site Web a le chemin de fichier de la machine client sur elle"? –

+0

Ce que je voulais dire, c'est que je pense que tous les développeurs devront configurer leur copie de travail dans le même répertoire de leurs machines (C: \ WorkingCopy) car Visual Studio utilise des chemins de fichiers absolus dans les propriétés du projet. En fin de compte, je veux savoir comment nous pouvons tous partager un fichier .sln contenant le même site Web et les projets de bibliothèque de classes sur le repo subversion. – JustinP8

1

C'est une mauvaise idée de mettre les projets de bibliothèque dans la même solution que le projet de site Web. Laissez-les dans leur propre solution. Dans le projet de site Web, cliquez avec le bouton droit sur le projet dans l'explorateur de solution et choisissez "Ajouter une référence". pointez sur où vous avez enregistré le code de la bibliothèque construite (peut-être sur un partage de fichiers).

+0

Je ne suis pas d'accord. Cela dépend de la fréquence à laquelle les projets de «bibliothèque» doivent être modifiés et de la proximité du site en cours de développement. –

+0

@Andrew: n'a-t-il pas dit que les projets de bibliothèque étaient utilisés dans plusieurs sites Web? –

+0

maintenant j'ai compris. Je voulais dire un peu autre chose - j'ai maintenant une solution avec deux sites Web et plusieurs bibliothèques de classes et c'est très pratique parce que tous les projets se développent assez rapidement. –