Я сделал автоматическую систему обновления, и после загрузки zip-файла я хочу, конечно, распаковать. Если я использую простую распаковку, ее работа.C# .net4.5 Unpack Zip file
//System.IO.Compression.ZipFile.ExtractToDirectory(zipPath, extractPath);
Но когда я хочу перезаписывать файлы, все время приходится сбой приложения. «Исключение типа« System.IO.IOException »произошло в mscorlib.dll, но не было обработано в коде пользователя« «Имя файла, имя папки или синтаксис ярлыка не верны».
string zipPath = @""+ System.IO.Directory.GetCurrentDirectory() + "/Temp/"+"1.zip";
string extractPath = @""+ System.IO.Directory.GetCurrentDirectory();
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
entry.ExtractToFile(Path.Combine(extractPath, entry.FullName),true);
}
}
Я не могу понять, в чем проблема. Я использую что-то плохое?
Синтаксис пути кажется недействительным. он сбой в этой строке 'entry.ExtractToFile (Path.Combine (extractPath, entry.FullName), true);'? – NtFreX
Да, отладка останавливается здесь с сообщением об ошибке. Но, как я писал, я использую System.IO.Compression.ZipFile.ExtractToDirectory (zipPath, extractPath); его распаковать, но вы знаете, он не может перезаписать файлы. :) – WinDev
скорее всего является 'entry.FullName' в сочетании с' extractPath' недопустимым путем. попробуйте отладить его и проанализировать результат «Path.Combine (extractPath, entry.FullName)» – NtFreX