Имя "zipfile" не существует в текущем контексте

У меня есть проект SSIS со мной, я могу работать как есть. Но, когда я пытаюсь отредактировать его, появляется сообщение об ошибке

Имя "zipfile" не существует в текущем контексте

без редактирования, он отлично работает

Код ошибки:

public void Main()
 {
 // TODO: Add your code here
 string moduleName = Dts.Variables["User::ModuleName"].Value.ToString();
 string s = Dts.Variables["User::ZipFileLocation"].Value.ToString().TrimEnd('\\') + "\\" + moduleName + "\\" + moduleName + "_" + DateTime.Now.ToString("ddMMyyyy");
 // TODO: Add your code here
 string startPath = s;
 string zipPath = s + ".zip";
 try
 {
 File.Delete(zipPath);
 ZipFile.CreateFromDirectory(startPath, zipPath);
 }
 catch (Exception e)
 {
 }
 Dts.TaskResult = (int)ScriptResults.Success;
 }

Как я могу это решить?

4 ответа

Убедитесь, что вы используете версию .Net 4.5. Ссылка на DLL компрессии. Вот путь: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.IO.Compression.FileSystem.dll ссылка в классе "использование System.IO.Compression.FileSystem" Если класс наследуется от другого класса, не забудьте ссылаться и на родительский класс. (Это то, что я должен сделать, чтобы скомпилировать его)


Чтобы использовать класс ZipFile, вы должны добавить ссылку на сборку System.IO.Compression.FileSystem в своем проекте; в противном случае при попытке компиляции вы получите следующее сообщение об ошибке:

Имя "ZipFile" не существует в текущем контексте.

Дополнительные сведения о том, как добавить ссылку на ваш проект в Visual Studio, см. в разделе How-To:

Добавление или удаление ссылок с помощью диспетчера ссылок.


Я обнаружил, что класс ZipFile не будет сотрудничать только с использованием System.IO.Compression, он попросил бы увидеть Ссылка на System.IO.Compression.FileSystem.

Если вы используете Visual Basic, добавление ссылки довольно просто. В проводнике решений одна из вкладок в проекте называется "Ссылки". Щелкните правой кнопкой мыши и выберите Добавить ссылку. Немного прокрутите флажок рядом с System.IO.Compression.FileSystem. Как только вы нажмете OK, вам даже не нужно явно ссылаться на System.IO.Compression.FileSystem в вашем коде!

Удачи (:


Только для обновления:

В версии .Net 4.6.1

Добавление ссылки на System.IO.Compression.FileSystem и using System.IO.Compression достаточно.

using System.IO.Compression.FileSystem дает ниже ошибку.

licensed under cc by-sa 3.0 with attribution.