【问题标题】:Unable to upgrade MvvmCross to 6.2.0无法将 MvvmCross 升级到 6.2.0
【发布时间】:2019-02-26 17:04:17
【问题描述】:

我有一个旧的跨平台移动应用程序项目,它已在 Visual Studio 2017 上使用 Xamarin 开发(和维护)。iOS 应用程序现在在 iOS 11 之后遇到了问题(主要是相机问题 - 我已经添加了新的权利- NSPhotoLibraryUsageDescription - 到 Info.plist,所以这不是问题)。现在,当我要求 NuGet 在可移植项目上将 MvvmCross 依赖项从 5.7.0 升级到 6.2.0 时,我收到此错误:

无法安装软件包“MvvmCross 6.2.0”。你正试图 将此包安装到目标项目中 .NETPortable,Version=v4.5,Profile=Profile111',但是包没有 包含与之兼容的任何程序集引用或内容文件 框架。如需更多信息,请联系包作者。

更新

想出了将 .NET Framework 更改为 4.6 的位置,但每当我尝试时,单击“确定”时它会自动恢复为 4.5。

【问题讨论】:

  • 将您的 PCL Profile 111 项目转换为基于 .NetStandard 2.0 的项目
  • @SushiHangover 谢谢。我昨晚深夜意识到这一点:) - 这很快给我带来了全新的快乐 - 就像 mvvmcross sqlite 库这样的旧依赖项消失了。嗯,我想这就是旧代码的方式:)

标签: c# xamarin visual-studio-2017 mvvmcross nuget-package


【解决方案1】:

对于真正不是 .NET 或应用程序开发人员的其他人,我只想离开 在这里解决问题。

在阅读大量文章后,我发现解决方案是,正如 SushiHangover 也指出的那样,将 Core 项目从 PCL 迁移到 Standard。

本文以某种方式描述了内容、时间、地点和方式:https://docs.microsoft.com/da-dk/dotnet/standard/net-standard#comparison-to-portable-class-libraries

感谢您的帮助!

【讨论】:

    【解决方案2】:

    正如错误消息告诉您的那样,您的项目面向 .NET 4.5,而 MVVMCross 6.2.0 不支持。 fuget.org 列出了受支持的目标。您需要更新您的项目以使用受支持的目标之一。

    【讨论】:

    • 感谢您的回答。我对 .NET 开发并不精通,而且我似乎找不到可以更改可移植项目的 .NET 版本的地方。我尝试了 properties->targets,但 4.6.2(安装在系统上)没有显示为选项。
    • @MartinJesRasmussen 您需要将项目转换为基于 NetStd2.0 的项目。
    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 2020-01-11
    • 2015-07-01
    • 2023-03-19
    • 2017-12-29
    • 1970-01-01
    • 2017-10-18
    • 1970-01-01
    相关资源
    最近更新 更多