应用程序从 Xamarin 升级到 MAUI 导致 NuGet 恢复循环错误

问题描述 投票:0回答:1

我本周开始实习,刚刚收到我的第一份工作 - 将超级旧的 Xamarin 应用程序升级到 MAUI。我以前从未使用过 dotnet 或 c Sharp,所以我只是离开我可以在网上找到的文档和其他指南。

原始项目分为三个部分 - 核心 API,然后是 iOS 和 Android 应用程序。我首先将 API 升级到 .NET 8,因为它当前面向 netstandard2.0。该应用程序非常旧,这里没有人以前使用过它或处理过它,所以当我像现在一样陷入困境时,没有人可以询问或寻求帮助。

无论如何,我升级了工具,一切都很顺利,没有错误。然而,现在我尝试构建它,我遇到了这两个错误,我无法克服并且不理解。

第一个与升级项目使用的包有关。由于某种原因,它没有引入项目依赖的包,例如 Newtonsoft.Json。当我尝试通过 NuGet 上的包管理器添加此内容时,它返回以下错误:

Restoring packages for C:\Developer\*\*\*\*.csproj...
  GET https://api.nuget.org/v3-flatcontainer/xamarin.forms/index.json
  OK https://api.nuget.org/v3-flatcontainer/xamarin.forms/index.json 205ms
  CACHE https://api.nuget.org/v3/vulnerabilities/index.json
  CACHE https://api.nuget.org/v3-vulnerabilities/2024.10.10.23.29.13/vulnerability.base.json
  CACHE https://api.nuget.org/v3-vulnerabilities/2024.10.10.23.29.13/2024.10.11.11.29.14/vulnerability.update.json
NU1603: CardsView 2.4.8 depends on Xamarin.Forms (>= 3.0.0) but Xamarin.Forms 3.0.0 was not found. An approximate best match of Xamarin.Forms 3.0.0.446417 was resolved.
NU1107: Version conflict detected for Xamarin.Android.Support.Compat. Install/reference Xamarin.Android.Support.Compat 28.0.0.1 directly to project VanMonster.AppraisalCore to resolve this issue. 
 *.* -> Plugin.Permissions 5.0.0-beta -> Xamarin.Android.Support.Compat (>= 28.0.0.1) 
 *.*-> CardsView 2.4.8 -> Xamarin.Forms 3.0.0.446417 -> Xamarin.Android.Support.v4 25.4.0.2 -> Xamarin.Android.Support.Compat (= 25.4.0.2).
Package restore failed. Rolling back package changes for '*.*'.

当我尝试删除包时,结果是一样的:

Restoring packages for C:\Developer\*\*\*\*.csproj...
  CACHE https://api.nuget.org/v3/vulnerabilities/index.json
  CACHE https://api.nuget.org/v3-vulnerabilities/2024.10.10.23.29.13/vulnerability.base.json
  CACHE https://api.nuget.org/v3-vulnerabilities/2024.10.10.23.29.13/2024.10.11.11.29.14/vulnerability.update.json
NU1107: Version conflict detected for Xamarin.Android.Support.Compat. Install/reference Xamarin.Android.Support.Compat 28.0.0.1 directly to project VanMonster.AppraisalCore to resolve this issue. 
 VanMonster.AppraisalCore -> Plugin.Permissions 5.0.0-beta -> Xamarin.Android.Support.Compat (>= 28.0.0.1) 
 VanMonster.AppraisalCore -> Rg.Plugins.Popup 1.2.0.223 -> Xamarin.Forms 2.5.0.121934 -> Xamarin.Android.Support.v4 25.4.0.2 -> Xamarin.Android.Support.Compat (= 25.4.0.2).
Generating MSBuild file C:\Developer\*\*\*\*.csproj.nuget.g.props.
Generating MSBuild file C:\Developer\*\*\*\obj\*.csproj.nuget.g.targets.
Writing assets file to disk. Path: C:\Developer\*\*\*\obj\project.assets.json
Executing nuget actions took 113 ms
Time Elapsed: 00:00:00.5898366
========== Finished ==========

Failed to restore C:\*\*\*\*.csproj (in 2.77 sec).
NuGet package restore failed. Please see Error List window for detailed warnings and errors.
Time Elapsed: 00:00:02.7920800

所以我想好吧,我将安装该软件包 Xamarin.Android.Support.Compat 28.0.0.1 但这要求我安装另一个名为 Xamarin.Android.Support.Core.Utils 的软件包

我不知道如何解决这个问题并通过它直到我可以开始测试 API。任何有关如何进行的想法将不胜感激。

c# xamarin nuget maui
1个回答
0
投票

在升级的过程中,由于一些包的相互依赖,所以在升级过程中你的问题干特别容易出现问题。

对于需要将Xamarin App升级为MAUI App的用户,微软有一些教程,为此,您可以先查看以下官方文档:

手动将 Xamarin.Forms 应用程序升级到单个项目 .NET MAUI 应用程序,

手动升级到多项目应用程序

使用 .NET 升级助手将 Xamarin.Forms 应用程序升级到 .NET MAUI 应用程序

© www.soinside.com 2019 - 2024. All rights reserved.