Compression dossiers

Résolu
Sentynel Messages postés 86 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 13 juillet 2013 - 28 oct. 2011 à 20:35
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.

6 réponses

NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023 156
28 oct. 2011 à 22:36
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
3
NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023 156
28 oct. 2011 à 22:57
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
3
NHenry Messages postés 15039 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 7 février 2023 156
28 oct. 2011 à 21:28
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
0
Sentynel Messages postés 86 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 13 juillet 2013
28 oct. 2011 à 22:25
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sentynel Messages postés 86 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 13 juillet 2013
28 oct. 2011 à 22:40
Je comprends, Merci.

Savez-vous comment faire un chargement dynamique, s'il vous plaît ?
0
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
Merci pour votre aide ! ;)
0
Rejoignez-nous