当我在Windows 10 UWP应用上安装SevenzipSharp.Net45
时,收到此消息:
Package SevenZipSharp.Net45 1.0.5与uap10.0(UAP,Version = v10.0)不兼容。 Package SevenZipSharp.Net45 1.0.5支持:net45(.NETFramework,Version = v4.5) 一个或多个程序包与UAP不兼容,版本= v10.0。
此消息也与其他包一起出现 我用Framework 4.6制作了我的UWP应用程序,但我也尝试过使用4.5,问题是一样的吗?
我必须改变什么吗? 非常感谢。
答案 0 :(得分:0)
要在UWP中提取7Zip文件,我们可以使用SharpCompress。该软件包支持.NETStandard 1.3,因此可以在UWP应用程序中使用。要使用此库,我们可以安装它from NuGet。
Install-Package 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);
}
}
}
}