gpt4 book ai didi

xamarin - 运行 Nuget 恢复时,MVVMCross 无法恢复 - 错误 : MvvmCross. Core' 已具有为“MvvmCross.Platform”定义的依赖项

转载 作者:行者123 更新时间:2023-12-02 12:29:45 26 4
gpt4 key购买 nike

我正在尝试使用 Visual Studio Team Services(以前是 Visual Studio Online)VSTS Build Agent< 在 Mac 上构建 Xamarin.iOS 应用程序 ( https://github.com/Microsoft/vsts-agent )

当我的 Xamarin.iOS 项目开始构建时,它开始恢复 nuget 包,然后出现以下错误:

'MvvmCross.Core' already has a dependency defined for 'MvvmCross.Platform'. 'MvvmCross.Tests' already has a dependency defined for 'MvvmCross.Platform'. 'MvvmCross.Binding' already has a dependency defined for 'MvvmCross.Core'.

我在 nuget 上找到了这篇文章 Error installing MvvmCross.HotTuna.MvvmCrossLibraries v4.0.0-beta1 in Xamarin Studio

其中说这可能是由旧的 nuget 客户端引起的。

我的Mac上当前的nuget客户端是V2.8.6,所以我使用升级了nuget客户端

nuget update -self

已更新至V3.4.4

但现在我收到错误:

MSBuild auto-detection: using msbuild version '4.0' from '/Library/Frameworks/Mono.framework/Versions/4.4.0/lib/mono/4.5'.

MsBuild.exe does not exist at '/Library/Frameworks/Mono.framework/Versions/4.4.0/lib/mono/4.5/msbuild.exe'.

这是 Nuget/MvvmCross 或 VSTS 代理的错误吗?

最佳答案

您可以将最新版本的 Nuget.exe 添加到存储库,还可以添加 shell 脚本来执行它并在 Mac 构建服务器上恢复 Nuget 包。 shell 脚本只有一行类似于:

mono nuget/nuget.exe 恢复 $1

$1 是传递给 shell 脚本的参数,应指向要为其恢复包的解决方案文件。 nuget/nuget.exe 应指向您添加到存储库的 nuget 恢复文件。

然后在 VSTS 中,不要使用默认的 Nuget 恢复任务,而是添加一个 shell 脚本任务并将其指向存储库中的 shell 脚本,并且参数应指向解决方案文件。

只需确保您的构建服务器也可以找到 mono 命令。

我写了这篇文章,更详细地解释了该解决方案:

Xamarin Build Services - Nuget Restore with VSTS

关于xamarin - 运行 Nuget 恢复时,MVVMCross 无法恢复 - 错误 : MvvmCross. Core' 已具有为“MvvmCross.Platform”定义的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37838587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com