如果你是從nuget上下載安裝的SevenZipSharp庫,當你寫好相應代碼,興沖沖的啟動程序進行測試時,以下畫面會讓你受到當頭一棒:
究其原因,是因為SevenZipSharp只是native 7z庫的C# Wrap,所以你要讓程序能夠正常運行,還需要有7z的運行時庫(但詭異的是SevenZipSharp既沒有自己附帶,也沒有寫入依賴項)。
可以打開nuget,下載安裝7z或7z.Libs,設置7z.dll為始終拷貝。然后再次啟動程序。
如果依然出現這個錯誤,說明SevenZipSharp沒有能夠自動找到7z.dll,這時我們可以手動設置其路徑,如:
if (IntPtr.Size == 4) { SevenZipCompressor.SetLibraryPath(@"7z-x86.dll"); } else { SevenZipCompressor.SetLibraryPath(@"7z-x64.dll"); }
解壓的設置同理。

