要提取UWP中的7Zip文件,我们可以使用SharpCompress。该软件包支持.NETStandard 1.3,因此可用于UWP应用程序。要使用这个库,我们可以安装它from NuGet。
安装,包装sharpcompress
请注意用这个包,我们还需要使用至少5.2.2版本的Microsoft.NETCore.UniversalWindowsPlatform现在。
以下是一个简单的例子。
using (var stream = await (await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"Assets\test.7z")).OpenStreamForReadAsync())
{
using (var archive = SharpCompress.Archives.SevenZip.SevenZipArchive.Open(stream))
{
var entry = archive.Entries.First();
using (var entryStream = entry.OpenEntryStream())
{
var file = await ApplicationData.Current.LocalFolder.CreateFileAsync(entry.Key, CreationCollisionOption.OpenIfExists);
using (var fileStream = await file.OpenStreamForWriteAsync())
{
entryStream.CopyTo(fileStream);
}
}
}
}
错误是不言自明的。该软件包不是为UWP设计的。它的.net 4.5 – AVK
任何人都知道链接下载正确的软件包? –