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

C# Discussion :

Compilation dynamique - AppDomain


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut Compilation dynamique - AppDomain
    Bonjour,

    Pour un traitement je génère en dynamique un assembly en le compilant en mémoire (GenerateInMemory à true). Le code compilé dépend d'un paramétrage, donc je peux être amené à compiler l'assembly plusieurs fois pendant la vie de l'application si le paramétrage change.

    A ce moment je me suis dit que j'allais avoir plusieurs assembly en mémoire, et effectivement après vérification en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AppDomain MyDomain = AppDomain.CurrentDomain;
    Assembly[] AssembliesLoaded = MyDomain.GetAssemblies();
    j'ai plusieurs assembly qui correspondent à mon code compilé en dynamique.

    La seule solution c'est de passer par un domaine d'application à priori. Après compilation l'assembly est forcément chargé dans le domaine courant et à priori on ne peut pas changer ça.

    Donc pour faire fonctionner correctement tout ça il faudrait que la compilation se trouve dans un autre assembly et que je charge ce dernier dans un autre domaine ? Ou il y a plus simple ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il n'est malheureusement pas possible de décharger un assembly d'un AppDomain, il faut donc effectivement créer un nouvel AppDomain... Je suis pas expert en la matière, mais voilà quelques liens qui devraient t'aider (en anglais) :

    http://blogs.msdn.com/suzcook/archiv.../08/57211.aspx
    http://blogs.msdn.com/jasonz/archive...31/145105.aspx
    http://blogs.claritycon.com/blogs/st...6/28/3212.aspx

  3. #3
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    On ne peut pas faire plus simple donc, tant pis. Merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compilation dynamique d'un string
    Par G_angel dans le forum C#
    Réponses: 7
    Dernier message: 28/06/2007, 19h30
  2. Probleme compilation dynamique
    Par dalton5 dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 06/06/2007, 08h15
  3. Réponses: 3
    Dernier message: 25/08/2006, 18h01
  4. [Stratégie] Compilation dynamique
    Par sozie9372 dans le forum Général Java
    Réponses: 8
    Dernier message: 20/03/2006, 09h27
  5. Compilation dynamique sous DELPHI
    Par sessime dans le forum Langage
    Réponses: 3
    Dernier message: 24/08/2005, 13h56

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