2015-11-19 43 views
8

Moje pytanie związane jest z I didn't find "ZipFile" class in the "System.IO.Compression" namespaceNie można znaleźć `ZipArchive` w przestrzeni nazw„System.IO.Compression”

enter image description here

Ale mam odwoływać DLL dla mojego projektu 4.5.1 WebForms:

enter image description here

Własności moim projekcie dać mi: Target framework: .Net Framework 4.5.1. i web.config:

<compilation debug="true" targetFramework="4.5" /> 

Czego mi brakuje?

Rozwiązaniem było ręczne odwołanie się do złożeń w pliku web.config Ale dlaczego? Dlaczego pole wyboru w oknie dialogowym dodawania odniesienia nie było niewystarczające?

<assemblies> 
    <add assembly="System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
    <add assembly="System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
</assemblies> 

https://stackoverflow.com/a/20099950/169714

+0

Czy podczas kompilacji otrzymujesz inną wiadomość (na przykład brak zestawu)? Okno wyjściowe może być przydatne. – Caramiriel

+1

Potrzebujesz również odniesienia do System.IO.Compression.FileSystem. To, czy sprawdziłeś, nie jest widoczne. –

+0

Dodałem referencję i nadal dało mi brakujący komunikat dotyczący montażu. Dodanie dwóch linii w pliku web.config naprawiło to. Ale dlaczego?Zwykle wystarczające jest okno dialogowe dodawania odniesień. –

Odpowiedz

5

I wobec tego samego problemu, ponieważ obszar nazw nie jest obecny w Literatura, proszę wykonać następujące kroki.

W moim przypadku, bez odwołań

When References not installed

Po Instalacja Referencje

enter image description here rozwiązanie

1) Instalacja system.Io.compression z Nuget tu

System.IO.Compression

2) Instalowanie system.Install-Pakiet 40-System.IO.Compression.FileSystem z Nuget tutaj.

System.IO.Compression.FileSystem

1

można zaktualizować Referencje w pliku projektu bezpośrednio (Unload Projektu i edytuj tę lub otwarty plik .csproj z notatnika i edycji)

Przed edycji musi sama jak:

<Reference Include="System.IO.Compression" /> 
<Reference Include="System.IO.Compression.FileSystem" /> 

Po edytuj:

<Reference Include="System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" /> 
<Reference Include="System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" /> 

Załaduj ponownie swój projekt w Visual Studio i przebuduj go. Mam nadzieję, że ci to pomoże.

+0

Dziękuję za odpowiedź, ale naprawiłem ją 2 lata temu. Czy możesz wyjaśnić, dlaczego poprawka w csproj go naprawia? –