C# 无法解压缩使用 CreateEntryFromFile 压缩的文件

C# Unable to unzip files zipped with CreateEntryFromFile

根据 this post 我正在使用以下代码压缩 SQL 备份文件:

using (ZipArchive zip = ZipFile.Open("test.bak", ZipArchiveMode.Create))
{
    zip.CreateEntryFromFile(@"c:\something.txt", "data/path/something.txt");
}

已成功创建文件大小正确的 zip 文件。但是我无法解压缩文件。我收到错误:

The compressed (zip) folder is invalid or corrupted

我试过使用 7-zip 和内置 Windows 'Extract All' 选项。 我也尝试过重新安装软件,但没有成功。

我的代码版本:

var fileName = Path.GetFileName(e.FullPath);
var newFile = dir + "\" + fileName + ".zip";
var backupFile = txtBackupFolder.Text == "" ? "" : txtBackupFolder.Text + "\" + fileName + ".zip";

using (ZipArchive zip = ZipFile.Open(newFile, ZipArchiveMode.Create))
{
    zip.CreateEntryFromFile(@e.FullPath, newFile);
}

上面 Nkosi 的 post 确实有帮助,但我认为增加问题的是 newfile 变量中的转义字符。

这确实有效:

using (ZipArchive zip = ZipFile.Open(newFile, ZipArchiveMode.Create))
{
    zip.CreateEntryFromFile(@e.FullPath, "mybackup.bak");
}