2009-03-03 5 views
6

J'ai une application web et un web.config correspondant. L'application dépend des assemblys, qui se trouvent sur le système dans un chemin spécifique (par exemple c: \ programms \ myprog \ bla.dll) mais pas enregistré dans le GAC. Comment puis-je dire à mon application Web où trouver ces assemblages dont elle dépend? Je suppose que je peux le faire quelque part dans le web.config. Mais comment?Comment spécifier l'emplacement exact d'un assemblage dans un fichier de configuration

Merci d'avance!

Répondre

6

Cochez cet article au Assembly Binding Redirection.

Fondamentalement, vous devez ajouter à votre fichier de configuration:

<runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705"> 
      <dependentAssembly> 
       * assembly information goes here * 
      </dependentAssembly> 
     </assemblyBinding> 
</runtime> 
0

Pour l'enregistrement des contrôles personnalisés et les contrôles utilisateur:

<system.web> 
    <pages> 
     <controls> 
     <add assembly="WebApp.CustomControl" 
       namespace="WebApp.CustomControls" 
       tagPrefix="cc" /> 
     </controls> 
    </pages> 
</system.web> 

Pour les assemblages enregistrement:

<assemblies> 
    <add assembly="WebApp.Util, Version=1.0, Culture=neutral, PublicKeyToken=f573aa5672ce4fd2"/> 
</assemblies> 

espère que cette aide!

1

Pourquoi entreposez-vous des assemblées dans 1 endroit précis? À des fins de débogage? Vous pouvez également ajouter un hintpath à des fins de débogage. Ajoutez un ref de fichier et faites-le copier local = true. La recherche d'assembly sera d'abord locale dans le dossier debug \ bin (base de l'application).

+0

D'autres applications et services s'exécutent sur la machine. Afin de garder les choses propres, nous avons convenu de stocker tous les binaires dans un seul endroit. Facilite les mises à jour – Mats

+0

Pourquoi n'utilisez-vous pas le GAC? La réutilisation des assemblages est la raison pour laquelle GAC est là. –

1

Dans la mesure du possible, conservez toujours vos assemblages dans le GAC. Il se comportera comme le seul répertoire que vous utilisez actuellement, avec l'avantage supplémentaire d'un déploiement côte à côte!

+0

Surtout si vous utilisez des assemblys fortement nommés. Les serrures et autres problèmes peuvent survenir autrement. –

Questions connexes