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

标签 xamarin xamarin.ios nuget mvvmcross azure-devops

我正在尝试使用 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/

相关文章:

ios - 如何知道 xamarin iOS 中当前的 Storyboard名称?

c# - 尝试运行Monotouch-bindings示例Facebook时出错

deployment - NuGet 不复制配置文件

visual-studio-2015 - Nuget VS 2015 Update 2 未找到所有软件包

ios - 我们如何存储值示例 : "language" = "english" in local database in xamarin. ios

c# - 从位图设置图像

c# - Xamarin Forms 错误处理 - 消息中心警报未从数据存储中显示

ninject - 为什么从 NuPack 生成的 NinjectMVC3.cs 无法编译? (或者 ASP.NET MVC 3 Beta 中的 MvcServiceLocator 发生了什么?)

java - 构建 Xamarin 应用程序后 Jar 中缺少方法和类

ios - 如何使用第三方应用程序在 iPad 上实现分屏多任务处理?