arcade: Xamarin Components missing from VS2022 Queues

This issue is causing build failure here : https://dev.azure.com/dnceng/public/_build/results?buildId=1858175&view=logs&j=396e4757-3dc0-597a-e469-5feb3123c7be&t=44c646e6-db1b-5521-5b76-c5c2c57c3a93&l=223

[Error] Project C:\Users\cloudtest\AppData\Local\Temp\dotnet-upgrade-assistant-tests\ab659678-ff94-460c-a980-c5dddf3569c5\EwDavidForms\EwDavidForms.Android\EwDavidForms.Android.csproj cannot be loaded: Could not load project. Please ensure the selected VS instance has the correct workloads installed for your projects. If Upgrade Assistant selected the incorrect VS version, please pass the argument --vs-path with the appropriate path. You can see the Visual Studio instances searched by running with the --verbose flag. If you are migrating UWP to Windows App SDK project, make sure you are using the latest version of VS 2022 (>17.2)

upgrade-assistant uses the following pool (https://github.com/dotnet/upgrade-assistant/blob/main/azure-pipeline.yml#L46):

 pool:
          ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
            name: NetCore1ESPool-Public
            demands: ImageOverride -equals build.windows.amd64.vs2022.pre.open
          ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
            name: NetCore1ESPool-Internal
            demands: ImageOverride -equals build.windows.amd64.vs2022.pre

Can we include the following components (includes components for both Xamarin and .NET MAUI) for VS 2022 Preview for the above mentioned pools:

Components for Xamarin:

{
"components": [
"Microsoft.NetCore.Component.Runtime.5.0",
"Microsoft.NetCore.Component.Runtime.3.1",
"Microsoft.NetCore.Component.SDK",
"Microsoft.VisualStudio.Component.NuGet",
"Microsoft.Net.Component.4.6.1.TargetingPack",
"Microsoft.VisualStudio.Component.Roslyn.Compiler",
"Microsoft.VisualStudio.Component.Roslyn.LanguageServices",
"Microsoft.VisualStudio.Component.FSharp",
"Microsoft.ComponentGroup.ClickOnce.Publish",
"Microsoft.NetCore.Component.DevelopmentTools",
"Microsoft.Net.Component.4.8.SDK",
"Microsoft.Net.Component.4.7.2.TargetingPack",
"Microsoft.Net.ComponentGroup.DevelopmentPrerequisites",
"Microsoft.Component.MSBuild",
"Component.OpenJDK",
"Component.Xamarin.RemotedSimulator",
"Component.Xamarin",
"Microsoft.VisualStudio.Workload.NetCrossPlat",
]
}

Components for .NET MAUI :

{
"components": [
"Component.OpenJDK",
"Component.Android.SDK.MAUI",
 "microsoft.net.runtime.mono.tooling",
    "maui.core",
    "maui.blazor",
    "microsoft.net.runtime.android",
    "microsoft.net.runtime.android.aot",
    "android",
    "maui.android",
    "Microsoft.VisualStudio.ComponentGroup.Maui.Android",
    "runtimes.ios",
    "microsoft.net.runtime.ios",
    "ios",
    "maui.ios",
    "Microsoft.VisualStudio.ComponentGroup.Maui.iOS",
    "runtimes.maccatalyst",
    "microsoft.net.runtime.maccatalyst",
    "maccatalyst",
    "maui.maccatalyst",
    "Microsoft.VisualStudio.ComponentGroup.Maui.MacCatalyst",
    "maui.windows",
    "Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging",
    "Microsoft.VisualStudio.ComponentGroup.Maui.Windows",
    "Microsoft.VisualStudio.ComponentGroup.Maui.Blazor",
    "Microsoft.VisualStudio.ComponentGroup.Maui.All",
    "Microsoft.VisualStudio.Workload.NetCrossPlat"
]
}

cc : @brandonh-msft

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 16 (9 by maintainers)

Most upvoted comments

It looks like the VS2022 images do have the Xamarin components installed on them (see helix.dot.net), but the preview images are missing the MAUI components. Prepping a PR to install them.

As we have not gotten any additional direction from the team in the last ~20 days, I am going to close this issue. Feel free to re-open it (or open a new one) once you have more information for us to take action on.

Yes! 6.0 workload should be sufficient

When VS2022 released, we deprecated the VS2019 prerel queue (as those builds were no longer being produced) and created a VS2022 pre queue. I believe the reason we do not install components is related to resource availability (not all VMs are configured with disks big enough to support the space required) and creation limitations (it take a while to generate the base images with all components installed which puts a strain on available resources).

As part of this work, we are making sure that these components will be added to future queues so you shouldn’t experience this problem when Vnext releases.

FYI, this is a regression as this was fixed previously - https://github.com/dotnet/core-eng/issues/13364 - and is currently blocking our workflow. /cc @brandonh-msft