IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Référence au GAC ou dans un dossier


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut Référence au GAC ou dans un dossier
    Bonjour,

    J'ai 2 versions d'une dll.
    La version dans le GAC et la version qui est utilisée dans les services. La version qui est utilisée est plus récente et c'est celle que je dois utiliser pour le projet pour qu'il fonctionne.

    J'ai rajouter dans un dossier asp.net la nouvelle version de la dll et fait pointer la référence vers le dossier asp.net.

    La compilation se passe correctement.

    Lorsque je fais appel aux services à partir du site, j'ai une exception qui m'est retournée qui m'indique que la méthode utilisée n'existe pas.

    Cela signifie que, à un moment ou un autre, au lieu de faire appel à la référence présente dans le dossier, il va chercher la référence qui est dans le GAC.

    Comment faire pour que la version de la dll prise en compte soit celle qui est présente dans le bin du projet et pas celle dans le gac?

    En sachant que, dans le fichier de config, j'ai essayé de rajouter un <add assembly=..> sans succès.

    Merci

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Salut

    Citation Envoyé par trihanhcie Voir le message
    Comment faire pour que la version de la dll prise en compte soit celle qui est présente dans le bin du projet et pas celle dans le gac?
    Le comportement que tu observes est normale. Par défaut .NET va chercher les assembly dans le GAC puis s'il ne les trouve pas, dans le dossier de l'application( enfin ça c'est la version raccourcie ).

    Pour contourner ton problème il faut que la librairie que tu références possède 2 numéros de version différent entre la version qui est dans le GAC et la version qui est dans le dossier de l'app. Ensuite dans ton application tu clique sur la référence à ta librairie, tu vas dans les propriétés VS et tu met la propriété "Version spécifique" à Vrai.

  3. #3
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Par défaut
    Merci pour la réponse rapide.

    Après investigation, il y a en fait "plus" que ca. Il y a des variables d'environnements qui indiquent l'endroit ou peuvent se trouver les références.

    Ce que je ne comprends pas, c'est que, dans le fichier de config, en rajoutant le nom ET la version de l'assembly, le site prend en compte une version plus ancienne qui n'est pas la même que celle que j'ai indiqué dans le web.config !! Comment ca se fait? Normalement il devrait effectuer un filtre sur le numéro de version et déterminer que la version présente sur mon poste n'est pas la même que dans le bin et donc prendre la version dans le bin non ?
    Comme ce n'est pas le cas, on en a conclu qu'ils font uniquement une recherche sur le nom de l'assembly et pas sur le numéro de version??

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Et si tu charges toi même l'assembly au lancement avec Assembly.LoadFrom ?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    Je me souviens jamais très bien des détails du mécanisme de chargement d'assembly, possible que si l'assembly n'est pas signée alors seul le nom importe et pas le numéro de version. En tout cas un excellent articlie sur tout ça ici.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/04/2012, 10h21
  2. Pb de comptage de fichiers dans un dossier
    Par oz80 dans le forum Access
    Réponses: 2
    Dernier message: 15/11/2005, 14h26
  3. acceder à 1fichier dans un dossier....
    Par nouna dans le forum Langage
    Réponses: 3
    Dernier message: 09/10/2005, 01h22
  4. [OmniMark 5] Copier contenu d'un dossier dans autre dossier
    Par Hoegaarden dans le forum Autres langages
    Réponses: 3
    Dernier message: 24/08/2005, 16h59
  5. acces à la Bd situee dans le dossier parent
    Par trialrofr dans le forum ASP
    Réponses: 4
    Dernier message: 04/01/2005, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo