我正在使用ZipFile類。嘗試使用ZipFile類時在System.IO.Compression中獲取錯誤
必須添加引用/ dll才能使用此類。看起來你可以同時使用System.IO.Compression
和Ionic.Zip
dll(每次只有一個)。
在我的情況下,只有後者的作品。但問題是,Ionic.Zip
似乎沒有覆蓋現有文件的方法:ExtracToFile(...)
。我非常需要這種方法。 相反,我只能這樣做:
zip.Extract(extractDirectory);
(然後我得到一個錯誤說該文件已經存在)
如果我做的:
zip.ExtractToFile(extractDirectory);
我得到一個錯誤,指出該方法ExtractToFile做不存在。
另外一點需要注意的是,在做Using System.IO.Compression
,只有這樣,我得到一個錯誤:
var zip = ZipFile.Read(finalFileToUnzip)
它說,它無法找到的ZipFile(雖然我沒有添加DLL作爲參考,這樣做「添加引用 - >並選擇.dll文件」)
如果我做Using Ionic.Zip
,它將接受:var zip = ZipFile.Read(finalFileToUnzip)
我不能找到有關這個問題的任何信息或以前的帖子,我希望任何人都可以幫助
任何想法可能是什麼問題?
這裏是更多的代碼:
for (int i = 0; i < listWithZipToUnpack.Count; ++i)
{
extractDirectory = Path.Combine(projectPath.ToString(), pathDir + listWithZipToUnpack[i]);
var finalFileToUnzip = Path.Combine(projectPath.ToString(), pathDir, "Lely", listWithZipToUnpack[i]);
if (finalFileToUnzip.Equals("--Vælg fil--")) { continue; }
using (var zip = ZipFile.OpenRead(finalFileToUnzip))
{
if (!Directory.Exists(extractDirectory))
{
Directory.CreateDirectory(extractDirectory+"-"+listWithZipToUnpack[i]);
}
foreach (var zipArchiveEntry in zip.Entries)
{
zipArchiveEntry.ExtractToFile(extractDirectory);
}
}
}
我使用.NET Framework 4.5.2
在.NET 4.5中增加了'ZipFile' ...你使用的是哪個版本的框架? – 2014-10-30 16:00:33
聽起來像你有一個'路徑'問題在這裏你可以展示你如何分配你需要壓縮的內容的文件/文件路徑.. – MethodMan 2014-10-30 16:03:05
我使用.NET 4.5.2版本。 我編輯的代碼添加了更多的代碼2它 – user1960836 2014-10-30 16:07:18