7
votes

System.io.cression.filesystem.dll dans le programme C #

J'aime utiliser la dll System.IO .Compprimer.FileSystem.dll dans mon projet

fichier

La version .NET Framework est 4.5 et le système d'exploitation est 64. Le problème est que la DLL n'est pas trouvée. config Quelle est la solution?


5 commentaires

Avez-vous installé complet .NET 4.5? Ce n'est pas un profil client? La capture d'écran que vous avez fournie montrant que vous pouvez demander la DLL mais que vous ne pouvez pas être trouvé?


Vous obtenez un nom d'assemblage et des espaces de noms mélangés. Utiliser devrait être l'espace de noms qui est juste System.IO.IO.IO.IO.IO


@DonBoItnott Je crois qu'ils ont été débarrassés du profil du client avec 4,5.


@Donboitnott Voir mon édition


@Joeenos je viens de trouver cela dans une recherche différente; vous avez raison.


4 Réponses :


4
votes

dans le système.IO.IO Il n'y a pas de classement de ce type de fichier de fichiers, vérifiez le lien sur le msdn

Les classes disponibles sont les suivantes:

  • DEFLATESTESM fournit des méthodes et des propriétés pour la compression et la décompression des flux en utilisant l'algorithme de déflate.
  • gzipstream fournit des méthodes et des propriétés utilisées pour comprimer et décompresser les flux.
  • ZipRarchive représente un ensemble de fichiers compressés dans le format d'archive zip.
  • ZipRarchiveRyRy représente un fichier compressé dans une archive ZIP.
  • ZIPFILE fournit des méthodes statiques pour créer, extraire et ouvrir des archives zip.
  • ZIPFILEEXTENSIONS

    Si votre objectif est d'utiliser la compression du fichier ou du flux, utilisez le gzipstream classe.

    Supprimer le système de fichiers de l'instruction Utilisation: xxx

    de toute façon, car Joe Enos a signalé des classes de l'espace de nom de compression ont été supprimés le profil du client. À partir de la Framework 4.5

    En dessous des informations de la version du MSDN sur le Gzipstream:

    .NET Framework Soutenu en: 4.5, 4, 3.5, 3.0, 2.0

    Profil client-Framework .NET Framework Soutenu en: 4, 3.5 SP1


5 commentaires

OP n'a pas dit que c'était un problème d'espace de noms ... il ne peut pas trouver la DLL. Le nom de la DLL donné est valide.


@DonBoitNott La solution consiste à supprimer le système de fichiers de l'utilisation de la DLL est référencé de la solution.


@Donboitnott Je ne suis pas d'accord, cette réponse est correcte. Regardez la capture d'écran: le problème n'est pas manquant DLL le problème est l'utilisation de l'instruction échoue.


@Johnfield je vois que maintenant. J'étais plus concentré sur la liste de montage. Mes excuses. Downvote annulé.


@Donboitnott Pas de problème du tout :)



17
votes

L'espace de noms n'est pas identique au nom de la DLL (nom de montage). de la page MSDN que vous avez liée

Espace de noms : system.io.compression
Assemblage : System.IO.Cression.FileSystem (dans system.io.compression.filesystem.dll)

Ainsi, l'espace de noms que vous devez inclure est system.io.compression pas system.io.cression.filesystem . Enlevez le système de fichiers partie de votre à l'aide de instruction et cela résoudra votre problème.


Si les gens me font voter, c'est parce que l'OP a dit "le problème est que la DLL n'est pas trouvée." Je pense que l'OP n'utilise pas le bon choix de mots, si le problème était vraiment que la DLL ne pouvait pas être trouvée, il y aurait un point d'exclamation du nom de l'assemblage que la capture d'écran originale n'a pas

Voir l'image d'origine ci-dessous

 image originale
(cliquez pour une vue ampliée)

comparer cela à ma capture d'écran, j'ai créé cela apparaîtrait si la DLL n'a pas été trouvée, notez le point d'exclamation que j'ai que la capture d'écran originale ne le fait pas.

Entrez la description de l'image ici


2 commentaires

@Lamloumi Ok, qu'en est-il de ça. L'espace de noms est toujours system.io.compression , le problème Votre capture d'écran montre est que vous avez un soulignement rouge sous Système de fichiers , c'est-à-dire parce que cette partie ne fait pas partie du nom de l'espace de noms. Le chemin complet de la fonction que vous avez liée serait system.io.crefression.zipfile.createfromdirectory (chaîne, chaîne) non system.io.cression.filesystem.zipfile.createfromdirectory (chaîne, Chaîne)


désolé je t'ai mal compris :)



2
votes

Un nouveau paquet Nuget sort. Vérifiez ceci :)

https://www.nuget.org/packages/system.io. Compression.zipfile


0 commentaires

-3
votes

Ajout de référence à System.IO.cression.dll a résolu ce problème pour moi.


0 commentaires