我们有一个现有的Azure DevOps构建管道,用于.NET Core 7 MAUI Android应用程序,该管道在2023年11月20日之前一直运行良好。我们注意到之前成功的构建使用的是MSBuild版本17.7.3。今天它使用的是17.8.3,我认为这意味着它位于带有新VS映像的服务器上。
MSBuild version 17.8.3+195e7f5a3 for .NET
Build FAILED.
C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\33.0.95\targets\Microsoft.Android.Sdk.Tooling.targets(20,5): error XA0031: Java SDK 11.0 or above is required when using .NET 6 or higher. Download the latest JDK at: https://aka.ms/msopenjdk`
字符串
看起来这是Visual Studio 2022 17.8.3中Xamarin / MAUI构建的一个突破性变化,如果您正在为NET 7构建,而没有在global.json
文件中明确说明(dotnet build
步骤明确声明框架-f net7.0-android
)。
3条答案
按热度按时间dzhpxtsq1#
经典DevOps构建步骤
通过在dotnet构建步骤之前添加一个Java工具包步骤来修复它,以显式使用Java 11。只使用Java 11,因为这是最低要求-如果您喜欢,您可以尝试使用最新的Java- v17。
x1c 0d1x的数据
设定值:
的
YAML脚本
只是添加了@Kuepper对YAML构建步骤的回答。如果他的回答对你有帮助,请给予投票。
字符串
yiytaume2#
这是Azure DevOps的yaml(James Cormack的屏幕截图使用版本11而不是17)
字符串
deikduxw3#
Github动作
我在github上也遇到了同样的问题。
只是在发布之前添加此操作为我修复:
字符串