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 :

Changer le chemin de sortie des dll référencés


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 106
    Points : 85
    Points
    85
    Par défaut Changer le chemin de sortie des dll référencés
    Bonjour,

    Etant entretien d'utiliser un ensemble de bibliothèques dans mon projet sous Visual Studio 2013 en c#.

    Après le "Build" je retrouve ces descendances (EntityFramework dlls, Sql CE dll....) dans le même répertoire que le fichier EXE résultant.


    J'aimerai mettre ces fichiers DLL dans un répertoire "LIB" est les classer aussi.

    ex: LIB\Database\ on retrouve EntityFramework dlls et SQL Ce DL .....

    LIB\Controls\ on retrouve MyControle.dll ,.....



    Je vous remercie pour votre attention.

  2. #2
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Pour créer cette arborescence tu peux utiliser un "Post-build event".

    Mais sache que ça n'a à priori aucun intérêt et que ça va aussi compliquer le chargement des assemblies qu'il te faudra donc personnaliser en renseignant des "private path" dans ton app.config.

    Pourquoi veux-tu faire ça ?
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  3. #3
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 106
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Pragmateek Voir le message
    Pour créer cette arborescence tu peux utiliser un "Post-build event".
    SVP

    Pouvez-vous me dire comment ?

    Citation Envoyé par Pragmateek Voir le message
    Mais sache que ça n'a à priori aucun intérêt et que ça va aussi compliquer le chargement des assemblies qu'il te faudra donc personnaliser en renseignant des "private path" dans ton app.config.

    Pourquoi veux-tu faire ça ?

    .....car j'aime pas trop le désordre..

    Exemple:

    SQLite me crée de dossiers appelés 'x86', 'x64' et aprés dans chaque un le dll pour l'architecture du système. Donc moi jeux les avoir dans Lib/SQLite/x86 | Lib/SQLite/x64 par exemple.

  4. #4
    Expert confirmé
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 4 062
    Points
    4 062
    Par défaut
    Citation Envoyé par nadjibnet Voir le message
    Pouvez-vous me dire comment ?
    Dans les propriétés du projet tu as un onglet "Build Events" (ou équivalent en français).
    Dans le champ "Post-build event command line" tu peux mettre un script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mkdir Lib\SQLite
    move x86 Lib\SQLite
    move x64 Lib\SQLite
    Tu peux aussi créer un bat et l'exécuter si jamais tu en as besoin dans plusieurs projets.

    Par contre fais attention aux effets de bord et ne t'étonne pas d'avoir des FileNotFoundException ou FileLoadException et autre joyeusetés...
    Assure toi de bien scanner tous les chemins d'exécution utilisant les assemblies que tu déplaces, parce que le fait que l'application se lance ne veut pas dire que tout est OK, en effet le chargement des assemblies par le CLR se fait à la volée.

    Citation Envoyé par nadjibnet Voir le message
    .....car j'aime pas trop le désordre..
    Le désordre est embêtant pour les humains, là ton dossier "bin" ne sera manipulé que par des machines donc ce n'est pas un souci.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  5. #5
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 106
    Points : 85
    Points
    85
    Par défaut
    Merci infiniment je vais tester


    Citation Envoyé par Pragmateek Voir le message
    Le désordre est embêtant pour les humains, là ton dossier "bin" ne sera manipulé que par des machines donc ce n'est pas un souci.
    Hhhhhh

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/05/2012, 10h12
  2. Specifier le chemin des DLL pour une librairie
    Par Eco dans le forum Langage
    Réponses: 0
    Dernier message: 26/04/2010, 16h00
  3. Comment spécifier le chemin vers des dll ?
    Par StormimOn dans le forum C++/CLI
    Réponses: 10
    Dernier message: 28/11/2007, 14h26
  4. chemin des dll
    Par la_saucisse dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 15/10/2007, 15h49
  5. Utilisations croisés de références vers des dll
    Par Pilloutou dans le forum Framework .NET
    Réponses: 3
    Dernier message: 05/11/2006, 21h56

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