web-dev-qa-db-fra.com

Projet de copie Visual Studio

Je voudrais faire une copie de mon projet. Je préférerais ne pas recommencer à zéro en ajoutant des fichiers, des références, etc. Veuillez noter que je ne parle pas de copie pour le déploiement. Juste une copie.

Y at-il un outil dans VS pour faire cela? J'utilise VS 2008

105
sarsnake

Si vous souhaitez une copie, le moyen le plus rapide consiste à enregistrer le projet. Ensuite, faites une copie de la chose entière sur le système de fichiers. Retournez dans Visual Studio et ouvrez la copie. À partir de là, je recommanderais probablement de renommer le projet/la solution de sorte que vous n’en ayez pas deux du même nom, mais c’est le moyen le plus rapide de faire une copie.

124
Mitchel Sellers

Il suffit de créer un modèle ;

Dans votre projet, choisissez: Projet - Modèle d'exportation

L'assistant vous laissera définir

  • Nom du modèle
  • Description du modèle
  • Icône
  • Aperçu de l'image

Ensuite, il zippe votre projet dans le répertoire "Mes modèles exportés". Vous avez également la possibilité de rendre votre modèle disponible lorsque vous créez un nouveau projet.

Lorsque vous utilisez votre modèle pour créer un nouveau projet, l'espace de noms sera correct pour 'votre_nouveau_nom_projet' dans chaque fichier, toutes les références correctes, tout ce qui est parfait :)

Vous pouvez envoyer le fichier .Zip à n’importe qui, qui doit copier (et non décompresser) le fichier .Zip dans le répertoire Templates\ProjectTemplates pour qu’il puisse également l’utiliser.

J'ai créé un modèle ASP.NET MVC avec des dossiers, une page de présentation, des modèles de vue, etc., arrangé comme je les aime.

REMARQUE:
Si votre projet contient un dossier vide, il ne sera PAS ajouté au modèle. Je viens donc d'ajouter une classe vide appropriée à chaque dossier et un exemple d'image pour le dossier images.

55
Shane

Je suppose que si c'est quelque chose que vous faites souvent, il y a un petit utilitaire (non gratuit) qui promet de le faire pour vous: je ne l'ai pas utilisé, donc je ne suis pas sûr de sa qualité:

http://www.kinook.com/CopyWiz/

Il y a aussi ce projet sur CodePlex:

http://clone.codeplex.com/

Je vais probablement essayer le projet codeplex, et si cela ne fonctionne pas, je renommerai tout manuellement et je modifierai le fichier sln.

6
quip

Je suis ces étapes et j'utilise l'outil de développement appelé Resharper , qui est génial au fait:

Alors,

  1. Copier le dossier du projet existant dans la destination souhaitée
  2. Allez au contrôle de source et cliquez avec le bouton droit de la souris sur le dossier racine souhaité, puis choisissez "Ajouter des éléments au dossier ...". Un assistant s’affiche pour choisir les fichiers à copier certains fichiers et l’assistant vous guident pour cette raison par défaut).
  3. Modifier le nom du fichier de solution (* .sln)
  4. Modifiez les noms des sous-projets s'ils existent.
  5. Utilisez Resharper pour modifier le nom de liaison namespaces (je ferai automatiquement le travail sale en toute sécurité). Vous pouvez également modifier manuellement tous les espaces de nom portant le nouveau nom.
  6. La même action avec les noms de méthodes.
  7. Vérifiez les propriétés de solution si vous voulez changer.

C'est tout. Tu est prêt!!!

3
Giannis Grivas

Il est fortement conseillé de copier des projets du fait de pas conseillé, car certains fichiers de configuration formés en interne, tels que .csproj, .vspscc etc. et d'autres chemins/emplacements dans le système ou le système de fichiers TFS. Sauf si vous êtes un expert en lecture de ces fichiers et en corrigeant les références, n'essayez pas de copier des projets. 

Vous pouvez créer un projet squelettique du même type que celui que vous souhaitez copier. Cela crée les fichiers .csproj, .vspscc appropriés. Vous êtes maintenant libre de copier les fichiers de classe, les scripts et tout autre contenu du projet précédent, car ils n'auront aucun impact. Cela assurera un contrôle régulier de la construction et des versions (si vous choisissez de vous y intéresser)

Ceci dit, laissez-moi vous donner la méthode pour copier le projet de façon progressive:

  1. Accédez au projet que vous souhaitez copier dans l'explorateur de solutions et cliquez avec le bouton droit de la souris sur.
  2. Sélectionnez maintenant 'Ouvrir le dossier dans l'explorateur de fichiers' (en supposant que la solution soit mappée sur un chemin local de votre disque).
  3. Sélectionnez les projets que vous souhaitez répliquer en tant que dossiers entiers (avec toutes les dépendances, fichier bin .vspscc, fichier .csproj).
  4. Collez-les à l'emplacement de votre choix (il peut s'agir de votre même dossier de solution ou même d'un autre dossier de solution. S'il se trouve dans le même dossier de solution, vous devrez le renommer, ainsi que les fichiers .csproj et autres fichiers internes. ).
  5. Non, revenez à Visual Studio, Cliquez avec le bouton droit de la souris sur Solution> Ajouter> Projet existant ... 
  6. Parcourez et sélectionnez le fichier de projet (fichier .csproj) maintenant à partir de l'emplacement où vous l'avez placé et sélectionnez "open"
  7. Ce fichier apparaît maintenant dans l'explorateur de solutions pour que vous puissiez travailler.

Vous devrez peut-être maintenant résoudre quelques erreurs de construction, probablement avec des références et des éléments dupliqués/manquants, mais sinon, la logique et la structure seront aussi parfaites que prévu.

3
Vikram K

Le meilleur moyen est en fait de créer un nouveau projet à partir de rien, puis d'aller dans le dossier contenant les fichiers du projet que vous souhaitez copier (projet, formulaire1, tout sauf les dossiers) . Renommer les fichiers (sauf les fichiers form1) pour Exemple: j'ai copié des fichiers Ch4Ex1 dans mon projet Ch4Ex2, mais je les ai d'abord renommés en Ch4Ex2 . Copiez et collez ces fichiers dans l'explorateur de solutions du nouveau projet dans Visual Studio . Ensuite, écrasez-les et vous devriez bon aller!

Vieux fil, mais j'espère que cela aidera tous ceux qui recherchent cette réponse!

1
Alperon

Ma solution est un peu différente: l'ordinateur sur lequel réside le paquet est mort et j'ai donc été obligé de le recréer sur un autre ordinateur. 

Ce que j'ai fait (dans VS 2008) a été d'ouvrir les fichiers suivants dans mon répertoire:

                  - <package name>.djproj
                  - <package name>.dtproj.user
                  - <package name>.dtxs
                  - <package name>.sln
                  - Package.dtsx

Lorsque j'ai fait cela, une fenêtre contextuelle m'a demandé si le fichier sln allait être une nouvelle solution et, lorsque j'ai cliqué sur «oui», tout fonctionnait parfaitement.

0
Brian

J'ai un projet où les fichiers source sont dans un dossier en dessous du dossier du projet. Lorsque j'ai copié le dossier de projet sans le dossier source et que j'ai ouvert le projet copié, les fichiers source ne sont pas manquants, mais ont été retrouvés à l'ancien emplacement. J'ai fermé le projet, copié également le dossier source et rouvert le projet. Désormais, le projet référence par magie les fichiers source copiés (le nouveau chemin apparaissant lors de l'enregistrement sous "Enregistrer sous" et une modification apportée à un fichier ayant été enregistrée dans la version copiée).

Il y a une mise en garde: si les dossiers de projet anciens et nouveaux ne sont pas tous deux situés sous un dossier de bibliothèque utilisé, la magie susmentionnée supprime également la référence absolue à la bibliothèque et l'attend sous le même chemin relatif.

J'ai essayé cela avec VS Express 2012.

0
Rainald62

Après avoir essayé les solutions ci-dessus et créé une copie pour les projets MVC  

Pour les projets MVC, veuillez mettre à jour les numéros de port dans le fichier .csproj. Vous pouvez utiliser l’aide de iis applicationhost.config pour vérifier les numéros de port. Les mêmes numéros de port entraîneront un problème de chargement d’Assembly dans IIS.

0
Ganesh Vellanki