ฉันจะสร้างไฟล์เก็บถาวร 7-Zip จากแอปพลิเคชันคอนโซล C # ได้อย่างไร ฉันต้องสามารถแยกไฟล์เก็บถาวรโดยใช้โปรแกรม7-Zipปกติที่มีอยู่ทั่วไป
นี่คือผลลัพธ์ของฉันพร้อมตัวอย่างที่ให้ไว้เป็นคำตอบสำหรับคำถามนี้
- "ปลอกกระสุนออก" เพื่อ 7z.exe - นี้เป็นวิธีที่ง่ายและมีประสิทธิภาพมากที่สุดและผมสามารถยืนยันได้ว่ามันใช้งานได้เป็นอย่างดี ตามที่workmad3 กล่าวไว้ฉันแค่ต้องรับประกันว่า 7z.exe ได้รับการติดตั้งบนเครื่องเป้าหมายทั้งหมดซึ่งเป็นสิ่งที่ฉันสามารถรับประกันได้
- 7Zip ในการบีบอัดหน่วยความจำ - หมายถึงการบีบอัดคุกกี้ "ในหน่วยความจำ" ก่อนส่งไปยังไคลเอนต์ วิธีนี้ดูเหมือนจะค่อนข้างดี วิธีการห่อหุ้ม (ตัดLZMA SDK )
byte[]
ประเภทกลับ เมื่อฉันเขียนbyte[]
อาร์เรย์ไปยังไฟล์ฉันไม่สามารถแตกโดยใช้ 7-Zip (File.7z is not supported archive
) - 7zSharp Wrapper (พบใน CodePlex) - นี่ห่อ 7z exe / LZMA SDK ฉันอ้างอิงโปรเจ็กต์จากแอพของฉันและมันสร้างไฟล์เก็บถาวรบางไฟล์ได้สำเร็จ แต่ฉันไม่สามารถแตกไฟล์โดยใช้โปรแกรม 7-Zip ปกติ (
File.7z is not supported archive
) ได้ - 7Zip SDK aka LZMA SDK - ฉันเดาว่าฉันไม่ฉลาดพอที่จะคิดหาวิธีใช้สิ่งนี้ (ซึ่งเป็นสาเหตุที่ฉันโพสต์ไว้ที่นี่) ... ตัวอย่างโค้ดการทำงานใด ๆ ที่แสดงให้เห็นถึงการสร้างไฟล์เก็บถาวร 7zip ที่สามารถดึงข้อมูลได้โดย โปรแกรม 7zip ปกติ?
- CodeProject C # (.NET) อินเทอร์เฟซสำหรับ 7-Zip Archive DLLs - รองรับการแยกไฟล์จากไฟล์เก็บถาวร 7zip เท่านั้น ... ฉันต้องสร้างมันขึ้นมา!
- SharpZipLib - ตามคำถามที่พบบ่อย SharpZipLib ไม่รองรับ 7zip