2010-03-19 3 views
1

J'ai une DLL installée dans GAC. Je n'ai aucun problème à lire cet assemblage à partir d'applications asp.net la référence d'assemblage que j'ai faite dans web.config est capable de se référer à cet assemblage.Référence de l'assembly GAC dans App.Config (applications console)

Mais dans l'application console, quand je mets le dessous dans le fichier app.config, la solution est compilée, mais je ne suis pas capable d'accéder à la DLL du fichier program.cs.

Voici mon application.config pour faire référence à la DLL dans GAC.

<configuration> 
    <compilation debug="true"> 
     <assemblies> 
      <add assembly="myassembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9999999999999"/> 
     </assemblies> 
    </compilation> 
</configuration> 
+0

D'où cette valeur PublicKeyToken vient? La chance que tout soit neuf est zippo. –

+0

Oui, je sais. Je n'ai pas mis la vraie clé publique. – flopdix

Répondre

0

Essayez ceci:

 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="filename" 
           publicKeyToken="999999999999" 
           culture="neutral" /> 
      <codeBase href="file:///C:\dir\filename.dll"/> 


     </dependentAssembly> 
     </assemblyBinding> 

Vous pouvez également consulter cette référence pour:

http://www.codeproject.com/KB/install/assemblydeployment.aspx?display=Print

+0

Mais pourquoi ai-je besoin de référencer la DLL dans le projet. Comme la DLL est dans GAC, elle devrait être disponible si nous la configurons dans app.config (de cette façon cela fonctionne pour asp.net). donc ça devrait marcher sans le référencer ... pas vrai? – flopdix

+0

vous ne devrais pas mais figuré que ce serait une solution facile, essayez de changer votre syntaxe pour comme le ci-dessus –

+0

Pouvez-vous me dire s'il vous plaît, à quoi se réfère codeBase? – flopdix

Questions connexes