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

Dotnet Discussion :

Charger un assembly se trouvant sur un disque réseau


Sujet :

Dotnet

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 35
    Points
    35
    Par défaut Charger un assembly se trouvant sur un disque réseau
    Bonjour,

    J'essaye en vain de charger une dll référencée dans un projet lors du lancement d'une application Console en C# framework 3.5.

    Ce qui bloque, c'est que j'aimerai que cette dll ne se trouve ni à coté de l'exécutable, ni dans le GAC, mais sur un disque réseau partagé ou sur un serveur web, dans tous les cas dans un emplacement accessible de tout un ensemble de postes. Le but étant qu'un ensemble de programmes lancés depuis tout un parc utilise la même dll, ce qui en faciliterait la maintenance.

    J'ai trouvé sur MSDN cette façon de faire, a savoir modifier le fichier application.exe.config et d'y faire figurer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <configuration>
       <runtime>
          <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
             <dependentAssembly>
                <assemblyIdentity name="myAssembly"
                                  publicKeyToken="32ab4ba45e0a69a1"
                                  culture="neutral" />
                <codeBase version="2.0.0.0"
                          href="http://www.litwareinc.com/myAssembly.dll"/>
             </dependentAssembly>
          </assemblyBinding>
       </runtime>
    </configuration>
    Mais j'ai beau changer de toutes les manières possibles l'attribut href de la balise codebase, rien n'y fait, j'ai toujours une erreur IO.FileNotFoundException au lancement de mon application. Je précise que j'ai bien entendu changé l'attribut name de la balise assemblyidentity pour qu'il corresponde à mon contexte.

    L'autre méthode que j'ai trouvé sur MSDN est d'utiliser la balise probe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <configuration>
       <runtime>
          <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
             <probing privatePath="bin;bin2\subbin;bin3"/>
          </assemblyBinding>
       </runtime>
    </configuration>
    Cette fois ci le chemin est pris en compte, mais comme l'indique MDSN, on ne peut spécifier que des chemins se trouvant au niveau ou en dessous de l'application. Cela ne me permet donc pas d'y mettre une url ou un chemin réseau.

    Avez vous une solution pour charger une dll se trouvant sur un serveur ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 502
    Points
    1 502
    Par défaut
    Salut,

    Utilise la reflexion et load Assembly et fais-le directement dans ton code cs.

    Désolé mais je n'ai pas d'exemples sous la main, google est ton ami.

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/05/2012, 14h59
  2. installation de Linux sur un disque réseau
    Par sjeje42 dans le forum Matériel
    Réponses: 2
    Dernier message: 01/02/2008, 12h43
  3. [C#] Accès à un fichier sur un disque réseau
    Par pi100 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/06/2007, 14h13
  4. [EasyPHP] Hébergement d'un site sur un disque réseau
    Par joquetino dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 18/07/2006, 12h07
  5. Réponses: 1
    Dernier message: 16/01/2006, 16h43

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