- Notifications
You must be signed in to change notification settings - Fork2
C# wrapper for 7z.dll. Modified to work with COM Wrappers and NativeAOT Compilation on .NET 8
License
CollapseLauncher/SevenZipExtractor
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
C# wrapper for 7z.dll (x86 and x64 included). Due to a compatibility issue with "Source Generated" COM Interop, this fork only works with .NET 8.
This fork has been modified to work withNativeAOT andILTrimming on .NET 8. This fork also adds other features such as:
- Cancellable extraction
- Progress event
- Latest 7z.dll library (Currently: v23.01)
However, all the credits for the initial works have been done by the original creator:Alexander Selishchev
This fork is unfortunately still unavailable on NuGet but if you prefer one, please refer to the original version here:
Every single star makes maintainer happy! ⭐
Install-Package SevenZipExtractor
- 7Zip
- APM
- Arj
- BZip2
- Cab
- Chm
- Compound
- Cpio
- CramFS
- Deb
- Dll
- Dmg
- Exe
- Fat
- Flv
- GZip
- Hfs
- Iso
- Lzh
- Lzma
- Lzma86
- Mach-O
- Mbr
- Mub
- Nsis
- Ntfs
- Ppmd
- Rar
- Rar5
- Rpm
- Split
- SquashFS
- Swf
- Swfc
- Tar
- TE
- Udf
- UEFIc
- UEFIs
- Vhd (?)
- Wim
- Xar
- XZ
- Z
- Zip
CancellationTokenSourcetokenSource=newCancellationTokenSource();using(ArchiveFilearchiveFile=newArchiveFile(@"Archive.ARJ")){archiveFile.Extract("Output",tokenSource.Token);// extract all with cancellable control using token}
using(ArchiveFilearchiveFile=newArchiveFile(@"Archive.ARJ")){foreach(EntryentryinarchiveFile.Entries){Console.WriteLine(entry.FileName);// extract to fileentry.Extract(entry.FileName);// extract to streamMemoryStreammemoryStream=newMemoryStream();entry.Extract(memoryStream);}}
using(ArchiveFilearchiveFile=newArchiveFile(@"c:\random-archive")){archiveFile.Extract("Output");}
WebRequestrequest=WebRequest.Create("http://www.contoso.com/file.aspx?id=12345");HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();using(ArchiveFilearchiveFile=newArchiveFile(response.GetResponseStream()){archiveFile.Extract("Output");}
7z.dll (x86 and x64) will be added to your BIN folder automatically.
- Based on code from:http://www.codeproject.com/Articles/27148/C-NET-Interface-for-Zip-Archive-DLLs
- Source code in this repo is licensed under The MIT License
- 7z binaries licensehttp://www.7-zip.org/license.txt
1.0.17 / 2022.04.08
- #54 4Gb+ archives fixed! 🎉 (ThanksPyroluk)
1.0.16 / 2021.01.17
- 7z binaries updated to 21.07.0.0
- PR#56 - signature for
SquashFS
(Thanksmmoosstt) - PR#53 - look for binaries in
bin
folder (ThanksCupSunshine)
1.0.15 / 2020.01.14
- .NETStandard 2.0 support PR#38
1.0.14
- Entry.Extrat - preserveTimestamp is true by default #34
- Dynamic operations can only be performed in homogenous AppDomain" #36
About
C# wrapper for 7z.dll. Modified to work with COM Wrappers and NativeAOT Compilation on .NET 8
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- C#100.0%