Compression dossiers [Résolu]

Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013
- - Dernière réponse : Sentynel
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013
- 28 oct. 2011 à 22:58
Bonjour,
cela fait un certain temps que je cherche a pouvoir compresser/decompresser des dossier.

Je voudrai pouvoir compresser un dossier contenant quelques sous dossiers et fichiers, en n'importe quel format.

J'ai essaier avec system.IO.compression mais celui-ci ne zip que les fichiers.
J'ai ensuite essaier dotnetzip mais le programme demande à ce que la dll de reference soit présent avec le fichier exe.

La meilleur solution serait-donc de pouvoir compresser les dossier avec dotnetzip.

Serait-il possible de faire en sorte que la dll s'extrait au lancement de l'application, et qu'elle se supprime a la fermeture ?

Merci.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
14450
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2019
129
3
Merci
Bonjour,

Dans d'une liaison statique (à la compilation) d'un assembly à un autre, .NET chargera l'assembly demandée et ses dépendances.
Donc, même si l'appel se fait plus tard, il faudra l'assembly au moment du démarrage (avant même que ton code ne fonctionne).

Sinon, le chargement dynamique est possible, mais plus difficile à faire.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
14450
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2019
129
3
Merci
Bonjour,

Intéresses-toi à Reflection et quelques mots clés comme Dynamic loading assembly.
http://encrypted.google.com/...

C'est un vaste sujet, j'ai pratiqué une fois pour faire un système de plugin, mais c'est du niveau quand même.

Bon courage :)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
14450
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2019
129
0
Merci
Bonjour,

A moins d'utiliser un système de plugin (donc créer un connecteur spécifique à ton appli) ou d'utiliser Reflection pour charger dynamiquement l'assembly, ça ne pourra pas fonctionner, car .NET exige d'avoir toutes les dépendances (n'inclus pas les DLL de fonction style celle de Windows, car la liaison est fait lors de l'appel), donc le lancement échouera.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Commenter la réponse de NHenry
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013
0
Merci
D'accord. Et si le code qui utilise la dll se situe dans une form différente que celle du lancement, je pourrai inclure la dll dans le projet, l'extraire lors du lancement.

Si l'utilisateur va vers cette form, l'appli ira chercher cette dll de référence (précédemment extrait dans la même dossier que celle de l'application).

Voici mon cas :

J'ai la form principal qui se lance, si l'utilisateur veut envoyer ses données vers mon serveur, l'utilisateur cliquera sur le bouton specifique, qui lancera alors une nouvelle form (permettant cette action), Lorsque l'utilisateur enverra ses fichiers, l'application compressera les dossiers demander, puis ira les envoier.

Ce que j'ai besoin, alors c'est juste d'inclure cette dll dans l'appli, puis de l'extraire lors du lancement. la form principal n'utilisant pas cette dll, aucune erreurs ne surgira.

Qu'en pensez vous ?
Commenter la réponse de Sentynel
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013
0
Merci
Je comprends, Merci.

Savez-vous comment faire un chargement dynamique, s'il vous plaît ?
Commenter la réponse de Sentynel
Messages postés
86
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
13 juillet 2013
0
Merci
Merci pour votre aide ! ;)
Commenter la réponse de Sentynel