【问题标题】:VS2015 - Nuget - Package incompatible with UAP,Version=v10.0VS2015 - Nuget - 包与 UAP 不兼容,版本=v10.0
【发布时间】:2017-01-06 02:22:53
【问题描述】:

当我在 Windows 10 UWP 应用上安装 SevenzipSharp.Net45 时,我收到以下消息:

包 SevenZipSharp.Net45 1.0.5 与 uap10.0 (UAP,Version=v10.0) 不兼容。包 SevenZipSharp.Net45 1.0.5 支持:net45 (.NETFramework,Version=v4.5) 一个或多个包与 UAP 不兼容,Version=v10.0。

此消息也存在于其他包中 我已经使用 Framework 4.6 制作了我的 UWP 应用程序,但我也尝试使用 4.5 并且问题是一样的?

我必须改变什么吗? 非常感谢。

【问题讨论】:

  • 错误是不言自明的。这个包不是为 UWP 设计的。它适用于 .net 4.5
  • 有人知道下载正确包的链接吗?

标签: c# uwp nuget nuget-package nuget-package-restore


【解决方案1】:

要在 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);
            }
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    相关资源
    最近更新 更多