2009-08-05 7 views
4

Comment puis-je prendre plusieurs dll dans mon dossier bin pour mon application ASP.NET les organiser dans des dossiers séparés et les laisser sous le répertoire bin afin qu'ils soient toujours facilement accessibles à l'application comme s'ils étaient à la racine de la corbeille ? Je veux réduire la liste monstrueuse des dll et les grouper dans des dossiers liés à leur but principal.Comment puis-je organiser mes DLL dans plusieurs dossiers sous le répertoire bin dans ASP.NET?

+2

Ayant des noms de fichiers d'assemblage correctement nommés, par ex. somenamespace.somecontext.classname aide d'une certaine façon. Ne répond pas à votre question, mais c'est ce que je fais pour «gérer» la longue liste de DLL. –

Répondre

4

Vous pouvez demander à votre application de rechercher d'autres répertoires pour charger des assemblys en utilisant le fichier web.config et en spécifiant un élément <probing>. Je ne sais pas si cela fonctionne maintenant avec des projets de type site Web, comme il n'y a pas plusieurs années. Il devrait cependant fonctionner avec les projets de type Application Web.

<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="bin\subdir"/> 
    </assemblyBinding> 
    </runtime> 
    <system.web> 
     .... 
     .... 
    </system.web> 
</configuration> 
+1

est apparu, quand j'écrivais ma réponse :) –

+0

Ceci est la réponse à ma question, mais j'espère obtenir des commentaires sur la meilleure pratique pour ce problème. – Achilles

+1

La raison pour laquelle ils mettent cette fonctionnalité est que vous pouvez gérer les situations avec souplesse. Bien qu'il y ait toujours des pratiques exemplaires, il y a toujours des cas d'angle. J'aimerais voir une preuve indiquant pourquoi c'est mauvais au lieu de simplement «ne pas le faire». – womp

1

Ne faites pas cela. Même si cela fonctionne, il ne sera compris par personne d'autre.

Si vous êtes dérangé par le nombre d'assemblages dans le dossier bin, n'y regardez pas.

+0

Nous avons des modules de code clairement définis. Je veux utiliser la structure de répertoire pour documenter dans un sens quelles DLL sont associées à une partie particulière du code. Des suggestions sur cette approche? – Achilles

+1

Oui, encore une fois, ne le faites pas. Ce n'est tout simplement pas comment cela fonctionne. Utilisez des documents pour documenter, mais ne visez pas avec bin ou tout autre dossier _implementation_. –

+0

Moi aussi, ne fais pas ça! – Juri

0

Est-ce vous essayez d'organiser les DLL générées par l'application après la compilation ou les tierces parties et les DLL externes utilisées par votre application?

Si c'est le cas et que vous ne le faites pas déjà, vous pouvez les organiser dans n'importe quelle hiérarchie que vous choisissez en dehors de l'application (mais à l'intérieur de la solution). Vous pouvez ensuite référencer les DLL à partir de là.

Essayer d'organiser les fichiers générés par le compilateur asp.net, c'est comme nager en amont.

Questions connexes