J'ai plusieurs projets dans ma solution. Chaque projet fait référence à d'autres projets. Les dll sont assez grandes et je ne veux pas qu'elles soient incluses dans la corbeille de tous les projets qui les référencent.Partager des DLL entre projets
Quelles sont mes options? Idéalement, je voudrais les placer dans un endroit et faire référence à cela sans avoir besoin de les inclure dans mon dossier bin pour chaque projet. Le seul endroit auquel je peux penser est le GAC. Y a-t-il des idées/suggestions sur la façon dont vous vous en êtes sorti?
Est-il possible d'utiliser des chemins de palpage? Quelqu'un l'a-t-il déjà utilisé/me montre-t-il un tutoriel?
J'ai essayé de tester des chemins, d'obtenir une erreur lors de l'exécution de l'application, n'est-ce pas configuré correctement? J'ai placé mes dlls que je souhaite charger à partir de ce chemin dans le dossier C: \ Projects \ myProject \ bin. Et mettre en copie à faux dans la référence
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="C:\Projects\myProject\bin"/>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
Merci
Quelles sont vos préoccupations réelles avec les DLL à plusieurs endroits? Contraintes sur l'espace disque? Construire fois? Sont-ils vraiment assez gros pour que cela prenne beaucoup de temps pour les copier? – arootbeer
Pas une réponse à votre question, mais si vous voulez les avantages de ne pas avoir les assemblages dans le GAC (mettre à jour les DLL par programme plutôt que globalement, réduire les problèmes possibles) et en même temps ne pas vouloir tous ces assemblages Dans le même dossier, vous pouvez jeter un oeil à [ILMerge] (https://research.microsoft.com/fr-fr/people/mbarnett/ilmerge.aspx) qui fusionnera vos assemblées en une seule. Cependant, la surcharge d'avoir plusieurs assemblages est relativement faible. – Virtlink
Surtout l'espace disque et je veux centraliser mes DLL, donc ils sont tous dans un dossier, plutôt que partout. Le problème avec les mettre dans le GAC est que j'ai des dépendances sur des bibliothèques tierces, dont certaines ne sont pas fortement nommées ce qui devient un peu difficile. –