【发布时间】:2020-01-31 23:07:14
【问题描述】:
我在 Azure DevOps 中遇到了一个 Xamarin.iOS 应用程序的构建问题,我无法解决。我想知道是否有人有任何建议。
构建应用程序的 iOS 版本在 VS for Mac 中本地工作,但由于此错误在 Azure 中失败:
MTOUCH : error MT2002: Failed to resolve "System.Drawing.Color" reference from "System.Drawing.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" [/Users/runner/runners/2.164.6/work/1/s/iOS/CatRentalStore.iOS.csproj]
我在 Android 版本中遇到了类似的问题。我通过从 macOS-10.14 托管构建代理切换到 windows-2019 代理解决了这个问题,但这不是 iOS 应用程序的选项。
我已将可能使用 System.Drawing.Color 的软件包更新到最新的稳定版本 - Acr.UserDialogs、BTProgressHUD、Splat 和 Xamarin.Essentials。
我搜索了解决方案源,没有找到对 System.Drawing.Color 类的任何直接引用。
我还尝试使用 sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 6_4_0 指定要在构建中使用的 Xamarin/Mono 版本以匹配我的本地版本。这导致发生不同的错误:
error MSB4018: The "GenerateDepsFile" task failed unexpectedly.
error MSB4018: System.MissingMethodException: Method not found: System.Collections.Generic.IList`1<NuGet.Packaging.Core.PackageDependency> NuGet.ProjectModel.LockFileTargetLibrary.get_Dependencies()
对此问题的参考:
https://github.com/mono/mono/issues/13483
https://github.com/xamarin/xamarin-macios/pull/6011
【问题讨论】:
-
我无法重现相同的问题,根据this:.NET Core 2.2.105 是 VM 映像的默认设置,但 Mono 6.0 或更高版本需要 .NET Core 2.2.300+。如果您使用 Mono 6.0 或更高版本,则必须使用 .NET Core Tool Installer 任务覆盖 .NET Core 版本。如果使用 6.4.0,则至少需要安装 2.2.300+ .net core。愿它有所帮助。
-
@ToBeOrNotToBe - 指定 .NET Core 版本解决了该问题。感谢您分享这些信息!我已经阅读了您链接到的页面,但不知何故错过了 .NET Core 信息。
-
很高兴知道它会有所帮助。如果它解决了您的问题,您可以考虑接受它作为答案。只是一个提醒:)
标签: azure xamarin xamarin.ios azure-devops