我已经制作了一个自动更新系统,在我下载zip文件之后,我想要解压缩。如果我使用简单的解压缩,它的工作。
// System.IO.Compression.ZipFile.ExtractToDirectory(zipPath,extractPath);
但是当我想覆盖文件时,应用程序会一直崩溃。 “mscorlib.dll中发生了'System.IO.IOException'类型的异常,但未在用户代码中处理” “文件名,foldername或标签语法不正确。”
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);
}
}
我无法弄清楚问题是什么。我用的是坏事吗?
答案 0 :(得分:0)
string zipPath = @""+ System.IO.Directory.GetCurrentDirectory() + "/Temp/"+ currentupdate+".zip";
string extractPath = @""+ System.IO.Directory.GetCurrentDirectory() + "/Temp";
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
string fullPath = Path.Combine(extractPath, entry.FullName);
if (String.IsNullOrEmpty(entry.Name))
{
Directory.CreateDirectory(fullPath);
}
else
{
entry.ExtractToFile(fullPath,true);
}
}
}
这是正确的解决方案。谢谢你的帮助。