2017-09-28 4 views
0

J'ai une solution C# avec un certain nombre de projets. Un projet, est en quelque sorte un outil pour les autres, appelons-le tool. Il est compilé en tool.dll qui à son tour est référencé dans d'autres projets de la solution (projets A et B par exemple). Inside tool projet J'ai une référence à une DLL externe, foo.dll.Utiliser la référence d'un autre projet à la même solution

Si j'ai besoin d'utiliser les méthodes définies dans foo.dll dans le projet A, est-ce que je peux le faire via la référence à tool.dll? Je sais que je peux ajouter foo.dll à chaque projet, mais que s'il a une nouvelle version, je dois le mettre à jour manuellement pour chaque projet et c'est ce que j'essaie d'éviter.

En général, je veux éviter d'ajouter foo.dll à chaque projet et l'ajouter d'une manière ou d'une autre à un seul endroit et le partager. Si c'est possible, y a-t-il une autre façon de faire?

Je ne sais pas si elle est d'une importance, mais je suis en utilisant Visual Studio 2010 avec .NET Framework 4.

+1

Vous pouvez écrire une interface dans tool.dll qui partagera les méthodes de foo.dll vers la première version de votre système. – Ridikk12

Répondre

0

Vous pouvez placer foo.dll dans un endroit central (emplacement sur le disque, comme C:\Tools\foo.dll) et faire référence à la même fichier de chaque projet. Pour éviter d'avoir à mettre à jour manuellement les références de chaque mise à jour, vous pouvez essayer d'envelopper foo.dll dans un paquet nuget (si ce n'est pas déjà disponible sur NuGet.org). De cette façon, vous pouvez laisser Nuget gérer les mises à jour.

+0

Qu'est-ce qu'on pourrait appeler une place centrale? J'ai essayé de travailler avec le projet 'tool' comme une sorte de ma place centrale. – havakok

+0

@havakok J'ai modifié ma réponse –