Question

J'ai écrit une classe qui va gérer l'enregistrement interne dans mon application. Maintenant, je veux utiliser cette classe dans un autre projet nouveau et totalement distinct.

Je pourrais simplement copier le fichier dans le nouveau dossier de projet, mais je voudrais avoir qu'une seule copie à maintenir de telle sorte que tous les changements qu'elle appliquera aux deux projets au fil du temps.

Je peux utiliser le « Ajouter un fichier existant », mais où dois-je mettre le fichier afin que le prochain développeur sait qu'il est nécessaire. J'ai eu une fois un dossier « partagé » pour cela, mais une fois que le dossier n'a pas été introduit dans le prochain ordinateur de développement.

Quelle est la meilleure façon d'organiser cette sorte qu'il est plus logique pour les nouveaux mainteneurs et minimise le risque de liens brisés dans les projets.

Était-ce utile?

La solution

Vous pouvez créer un projet de bibliothèque qui a cette classe de cette façon tout ce que vous devez faire est d'ajouter une référence à ce projet.

Si tel est aucune option, vous pouvez utiliser « clic droit -> Ajouter un élément existant -> Ajouter comme lien ». De cette façon vous avez une seule copie du code, mais il peut exister dans plusieurs projets

Autres conseils

Une bibliothèque de classes à part est la meilleure solution.

Mais vous pouvez ajouter un fichier à un projet VS comme un lien plutôt que de copier. Pour ce faire, utilisez le menu déroulant sur le bouton Ajouter du dialogue Ajouter un élément existant.

Si vous avez réellement besoin de partager le code source, par exemple si vous avez un 32 bits simultanément et une construction du même ensemble 64 bits (ce qui est parfois nécessaire si vous dépendez du code natif), vous pouvez utiliser la réponse donnée dans ce fil: Comment avez-vous de partager du code entre les projets / solutions dans Visual studio?

(Rechercher ' "lien" un fichier de code entre les deux projets.)

Cassez votre code d'enregistrement à un assemblage séparé.

Vous pouvez ensuite inclure cette assemblée dans les projets qui devraient utiliser cette enregistreur.

Il garde tout agréable et propre et vous aurez seulement à maintenir un ensemble de code plutôt que d'avoir à vous soucier de chaque copie.

Créer un nouvel ensemble qui contient cette classe.

Alors tous vos autres projets peuvent se référer à cette assemblée et utiliser la classe à l'intérieur.

Mettez la classe dans un espace de noms unique, puis ajoutez le fichier comme un lien vers tous les projets dont vous avez besoin de l'utiliser. Assurez-vous que vous placez une instruction à l'aide de cet espace de noms unique où vous utiliserez la classe, ou vous devrez qualifier complètement toute utilisation de celui-ci. Pour des situations comme cela, je pense que cela est bien préférable qu'un assemply, car elle ne génère pas de références croisées assemply inutiles, pour quelque chose qui fait partie de votre propre code que vous souhaitez simplement partager entre vos projets.

Vous pouvez également utiliser utiliser votre système versioning pour le faire.

Nous créons habituellement Répertoire avec la solution et principal projet, puis engager ce répertoire SVN. Ensuite, toutes les bibliothèques partagées sont liées à l'aide svn:. Externe - donc tous les projets existe dans le même répertoire de solution

commit Après tout le monde peut travailler avec la caisse solution toutes les dépendances externes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top