我最近将 Xamarin 项目转移到新的 MacBook 上,以便将所有内容更新到最新的 iOS 版本。我正在使用 Visual Studio for Mac 2022。
此项目使用 Grial UI(版本 3)和 Telerik for Xamarin Forms,需要配置自定义 Nuget 源。
我遇到了两个问题:
无法找到包 UXDivers.Grial。源中不存在具有此 id 的包:nuget.org
它应该使用我添加的自定义 Grial Nuget 源,而不是 nuget.org。
数字 1. 可能不是问题,但可能表明其他配置错误,但 2 让我根本无法构建项目,因为未使用这些引用。
我还尝试使用 Nuget 包管理器更新包,它成功检测到当前版本和可用版本,但由于同样的原因失败(在进行实际更新时使用了错误的源)。
关于如何解决这个问题有什么建议吗?我的 Nuget 源在我的旧版(2015 年中)Mac 上以完全相同的方式配置,并且它正在与 VS for Mac 2019 配合使用。
我也有同样的问题。在我的 MacBookAir 上一切正常(2022 年 11 月购买),现在我从工作中得到了一台 MacBookPro。我安装了所有内容,但是当运行我的 Xamarin 项目时,恢复项目总是失败。
在包控制台输出中,我发现唯一使用的提要是
https://api.nuget.org/v3/index.json
幸运的是,我随机找到了微软文档的链接。 (https://learn.microsoft.com/en-us/nuget/consume-packages/configuring-nuget-behavior)。我检查了 MacBookPro 和 MacBookAir 上的 NuGet.config 文件。错误就出现了。我不知道为什么,但是当我将 grial-resource 添加到 nuget 源时,它没有更新我的 NuGet.config 文件。
所以我的 NuGet.config 文件看起来像这样
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
在我的 MacBookAir 上看起来是这样的
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="grial" value="http://nuget.uxdivers.com/grial" />
</packageSources>
<packageSourceCredentials>
<grial>
<add key="Username" value="yourUsername" />
<add key="ClearTextPassword" value="yourPassword" />
</grial>
</packageSourceCredentials>
</configuration>
为了解决我的 MacBookPro 上的问题,我将 grial 源添加到文件中,保存并重新启动 VSforMac。现在我可以在我的两台 MacBook 上构建我的项目了。
我的最后步骤是这样的
dotnet nuget locals --清除所有(多次执行此操作)
dotnet nuget locals --list all(列出所有 nuget 位置,转到这些位置并删除)
dotnet 恢复项目(甚至平台项目)
毕竟,包恢复仍然会转到较旧的 Telerik 服务器(您必须之前检查包控制台,我这样做了,但还不够)
检查此项 - 使用的 NuGet 配置文件:
/Users/"YOUR_USERNAME"/.config/NuGet/NuGet.Config
ufeff
您将看到“使用的源:”在那里,您将看到错误的 nuget 源, ufeff
不在“/Users/”YOUR_USERNAME”/.nuget/NuGet
ufeff
从“ /Users/"YOUR_USERNAME"/.config/NuGet/NuGet.Config”中删除不需要的 nuget 源
ufeff
项目构建!!!
有关更多详细信息,请在 Microsoft
中查看