Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[build-tools] fix InstallMaui target for .NET 7 #7173

Merged
merged 1 commit into from
Jul 15, 2022

Conversation

jonathanpeppers
Copy link
Member

This addresses several problems with the InstallMaui target:

  1. There was not a way to override $(MauiVersionBand). You can now
    pass this value in such as -p:MauiVersionBand=7.0.100.

  2. The logic for computing $(MauiVersionBand) was wrong:

    error NU1101: Unable to find package Microsoft.NET.Sdk.Maui.Manifest-7.0.000.

This should default to $(DotNetSdkManifestsFolder) now, which will
work by default when this lands: dotnet/maui#8737

Until dotnet/maui#8737 is merged, -p:MauiVersionBand=7.0.100 can be
used.

  1. The dotnet6 feed is now required:
Workload installation failed: microsoft.maui.sdk::6.0.408 is not found in NuGet feeds https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json;https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json;https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json;https://pkgs.dev.azure.com/xamarin/public/_packaging/Xamarin.Android/nuget/v3/index.json".

This is a .NET 6 package on NuGet.org, but not in dotnet-public. It is
necessary when building net6.0-* MAUI projects with a .NET 7 SDK. I
added logic to parse the NuGet.config file and add an extra source
for the dotnet6 feed. This should be the most reliable method going
forward.

This addresses several problems with the `InstallMaui` target:

1. There was not a way to override `$(MauiVersionBand)`. You can now
   pass this value in such as `-p:MauiVersionBand=7.0.100`.

2. The logic for computing `$(MauiVersionBand)` was wrong:

    error NU1101: Unable to find package Microsoft.NET.Sdk.Maui.Manifest-7.0.000.

This should default to `$(DotNetSdkManifestsFolder)` now, which will
work by default when this lands:

dotnet/maui#8737

Until dotnet/maui#8737 is merged, `-p:MauiVersionBand=7.0.100` can be
used.

3. The `dotnet6` feed is now required:

    Workload installation failed: microsoft.maui.sdk::6.0.408 is not found in NuGet feeds https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json;https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json;https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json;https://pkgs.dev.azure.com/xamarin/public/_packaging/Xamarin.Android/nuget/v3/index.json".

This is a .NET 6 package on NuGet.org, but not in dotnet-public. It is
necessary when building `net6.0-*` MAUI projects with a .NET 7 SDK. I
added logic to parse the `NuGet.config` file and add an extra source
for the `dotnet6` feed. This should be the most reliable method going
forward.
@jonathanpeppers
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jonathanpeppers jonathanpeppers merged commit 6b00188 into dotnet:main Jul 15, 2022
@jonathanpeppers jonathanpeppers deleted the FixInstallMaui branch July 15, 2022 19:10
@github-actions github-actions bot locked and limited conversation to collaborators Jan 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants