Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Conversation

@jonathanpeppers
Copy link
Member

@jonathanpeppers jonathanpeppers commented Aug 25, 2022

Context: dotnet/android#7261 (comment)

To make .NET 6 builds work from a .NET 7 SDK, we are changing:

Microsoft.Android.Sdk

To:

Microsoft.Android.Sdk.net6
Microsoft.Android.Sdk.net7

To deal with this in Xamarin.Legacy.Sdk, by default it will check for:

<!--
  if we are not .NET 7 use .NET 6, so legacy or net6.0 will import
  !$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))
-->
<Import Sdk="Microsoft.Android.Sdk.net6" ... />
<!--
  import .NET 7 if we are .NET 7
  $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))
-->
<Import Sdk="Microsoft.Android.Sdk.net7" ... />

To get the old behavior, you can set:

<UseMicrosoftAndroidSdk>true</UseMicrosoftAndroidSdk>

Or to explicitly select, you can set one of:

<UseMicrosoftAndroidSdkNet6>true</UseMicrosoftAndroidSdkNet6>
<UseMicrosoftAndroidSdkNet7>true</UseMicrosoftAndroidSdkNet7>

In a future change, we can make .NET 7 the default, but likely only
after it is released GA.

Context: dotnet/android#7261 (comment)

To make .NET 6 builds work from a .NET 7 SDK, we are changing:

    Microsoft.Android.Sdk

To:

    Microsoft.Android.Sdk.net6
    Microsoft.Android.Sdk.net7

To deal with this in Xamarin.Legacy.Sdk, by default it will check for:

    <!--
      if we are not .NET 7 use .NET 6, so legacy or net6.0 will import
      !$([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))
    -->
    <Import Sdk="Microsoft.Android.Sdk.net6" ... />
    <!--
      import .NET 7 if we are .NET 7
      $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '7.0'))
    -->
    <Import Sdk="Microsoft.Android.Sdk.net7" ... />

To get the old behavior, you can set:

    <UseMicrosoftAndroidSdk>true</UseMicrosoftAndroidSdk>

Or to explicitly select, you can set one of:

    <UseMicrosoftAndroidSdkNet6>true</UseMicrosoftAndroidSdkNet6>
    <UseMicrosoftAndroidSdkNet7>true</UseMicrosoftAndroidSdkNet7>

In a future change, we can make .NET 7 the default, but likely only
after it is released GA.
@jonathanpeppers
Copy link
Member Author

I'm going to ignore the GitHub actions failure for now:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Shared.targets(1425,3): error : Info.plist not found. 

It must be something about an updated Xamarin.Mac?

@jonathanpeppers jonathanpeppers merged commit 39e597e into main Aug 25, 2022
@jonathanpeppers jonathanpeppers deleted the net7-multitargeting branch August 25, 2022 14:50
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