web-dev-qa-db-fra.com

Partager le code source de la classe c # entre plusieurs projets

J'ai écrit une classe qui gérera la journalisation interne dans mon application ..__ Je souhaite maintenant utiliser cette classe dans un autre projet nouveau et totalement séparé.

Je pourrais simplement copier le fichier dans le nouveau dossier de projet, mais je ne voudrais en conserver qu’une copie, afin que toutes les modifications qui y sont apportées s’appliquent aux deux projets au fil du temps.

Je peux utiliser "Ajouter un fichier existant", mais où dois-je placer le fichier afin que le développeur suivant sache qu'il est requis. J'ai déjà eu un dossier "partagé" pour cela, mais une fois, ce dossier n'a pas été amené dans le prochain ordinateur de développement.

Quelle est la meilleure façon d’organiser cela de manière à ce que cela soit plus logique pour les nouveaux responsables et minimise le risque de rupture des liens dans les projets.

31
hultqvist

Vous pouvez créer un projet de bibliothèque comportant cette classe de cette manière. Il vous suffit d'ajouter une référence à ce projet.

Si ce n’est pas une option, vous pouvez utiliser "Clic droit -> ajouter un élément existant -> Ajouter en tant que lien" de cette façon, vous n’avez qu’une copie du code mais il peut exister dans plusieurs projets.

31
Peter

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

Mais vous pouvez ajouter un fichier à un projet VS sous forme de lien plutôt que de copie. Pour cela, utilisez la liste déroulante du bouton Ajouter de la boîte de dialogue Ajouter un élément existant.

11
Richard

Si vous avez réellement besoin de partager le code source, par exemple si vous avez une version simultanée 32 bits et 64 bits du même assemblage (qui est parfois nécessaire si vous dépendez du code natif), vous pouvez utiliser la réponse dans cette discussion: Comment partagez-vous du code entre des projets/solutions dans Visual Studio?

(Recherchez "" lier "un fichier de code entre deux projets".)

6
jorgen

Transformez votre code de connexion en une assemblée séparée.

Vous pouvez ensuite inclure cette assemblée dans les projets devant utiliser cet enregistreur.

Tout reste propre et net et vous n'aurez à gérer qu'un seul ensemble de codes plutôt que de vous inquiéter de chaque copie.

5
Justin Niessner

Placez la classe dans un espace de noms unique, puis ajoutez le fichier en tant que lien vers tous les projets dont vous avez besoin pour l'utiliser. Assurez-vous de placer une instruction using pour cet espace de noms unique dans lequel vous utiliserez la classe, sinon vous devrez qualifier chaque utilisation de celle-ci complètement. il ne génère pas de références inutiles d'assemblages croisés, pour quelque chose qui fait partie de votre propre code que vous souhaitez simplement partager entre vos projets.

1
ThunderGr

Créez un nouvel assemblage contenant cette classe.

Ensuite, tous vos autres projets peuvent faire référence à cet assemblage et utiliser la classe à l’intérieur.

1
Mongus Pong

Vous pouvez également utiliser votre système de gestion de versions pour le faire.

Nous créons généralement un répertoire avec Solution et Main Project, puis validons ce répertoire dans SVN. Toutes les bibliothèques partagées sont ensuite liées à l'aide de svn: external. Tous les projets existent donc dans le même répertoire de solutions.

Après validation, tout le monde peut accéder à la solution de travail avec toutes les dépendances externes.

0
kwesolowski