J'ai un arrière-plan Java, j'ai l'habitude que Maven gère tous les problèmes de téléchargement et de mise à jour des dépendances. Mais dans l'environnement .NET, je n'ai pas encore trouvé un bon moyen de gérer toutes ces dépendances externes.Comment partagez-vous les dépendances externes entre les solutions Visual Studio?
Le problème principal ici est que je produis des solutions en masse et qu'elles ont toutes tendance à dépendre des mêmes DLL tierces. Mais je ne veux pas conserver des copies séparées de chaque composant sous chaque solution. J'ai donc besoin d'un moyen de relier toutes les différentes solutions au même ensemble de DLL.
Je me suis rendu compte qu'une solution pourrait être d'inclure les bibliothèques externes dans un "projet de bibliothèque" qui est inclus dans toutes les solutions et laisser les autres projets les références à travers lui. (Ou assurez-vous simplement de référencer les DLL externes au même endroit pour tous les projets.)
Mais y a-t-il de meilleures façons de faire cela? (De préférence en utilisant une sorte de plug-in pour Visual Studio.)
J'ai regardé le Visual Studio Dependency Manager et il semble être un match parfait, mais quelqu'un l'a-t-il essayé pour de vrai? J'ai également vu les ports .NET de Maven, mais malheureusement je n'étais pas trop impressionné par le statut de ceux-ci. (Mais s'il vous plaît allez-y et recommandez-leur quelqu'un si vous pensez que je devrais leur donner un autre essai.)
Alors, quelle serait la meilleure façon de résoudre ce problème?
Mise à jour:
j'ai réalisé que je devais expliquer ce que je voulais dire avec un lien vers le même ensemble de son dll. L'une des choses que j'essaie de réaliser ici est d'éviter que les différentes solutions référencent des versions différentes de chaque composant. Si je mets à jour un composant vers une nouvelle version, il doit être mis à jour pour toutes les solutions lors de la prochaine génération. Cela me forcerait à m'assurer que toutes les solutions sont à jour avec les derniers composants.
Mise à jour 2: Notez que ceci est une vieille question posée avant des outils tels que NuGet ou OpenWrap existait. Si quelqu'un est disposé à fournir une mise à jour plus à jour, s'il vous plaît allez-y et je vais changer la réponse acceptée.
Quel type d'outil de contrôle de source utilisez-vous? –
SVN mais ce n'est pas une exigence pour une bonne solution. Je peux facilement changer d'environnement. –