Skip to content

Commit cf1418d

Browse files
[Xamarin.Android.Build.Tasks] fix net7.0 "out of support" message (#8660)
Context: a48a9c5 When .NET 9 ships, the .NET 7 Android workload will be out of support. We already have this behavior setup, but unfortunately the error message is wrong: Microsoft.NET.EolTargetFrameworks.targets(38,5): error NETSDK1202: The workload 'net6.0-android' is out of support and will not receive security updates in the future. Please refer to https://aka.ms/maui-support-policy for more information about the support policy. [MauiTest.csproj::TargetFramework=net7.0-android] It says `net6.0-android`! In a48a9c5, we hardcoded `net6.0` to align with the iOS team, but we can use the `$(TargetFrameworkVersion)` property (removing `v`) so we don't have to update this line every year. I updated a test for this scenario.
1 parent a832dd8 commit cf1418d

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/Sdk/Eol.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Things to note:
2828
</PropertyGroup>
2929
<ItemGroup>
3030
<SdkSupportedTargetPlatformVersion Include="21.0" />
31-
<EolWorkload Include="net6.0-android" Url="https://aka.ms/maui-support-policy" />
31+
<EolWorkload Include="net$(TargetFrameworkVersion.TrimStart('vV'))-android" Url="https://aka.ms/maui-support-policy" />
3232
</ItemGroup>
3333
<Target Name="_ClearMissingWorkloads">
3434
<!--

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/InvalidConfigTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,16 @@ public void SettingCombinations (bool isRelease, bool useInterpreter, bool publi
5858
}
5959

6060
[Test]
61-
public void EolFrameworks()
61+
public void EolFrameworks ([Values ("net6.0-android", "net7.0-android")] string targetFramework)
6262
{
6363
var library = new XamarinAndroidLibraryProject () {
64-
TargetFramework = "net6.0-android",
64+
TargetFramework = targetFramework,
6565
EnableDefaultItems = true,
6666
};
6767
var builder = CreateApkBuilder ();
6868
builder.ThrowOnBuildFailure = false;
6969
Assert.IsFalse (builder.Restore (library), $"{library.ProjectName} restore should fail");
70-
Assert.IsTrue (StringAssertEx.ContainsText (builder.LastBuildOutput, "NETSDK1202"), $"{builder.BuildLogFile} should have NETSDK1202.");
70+
Assert.IsTrue (StringAssertEx.ContainsText (builder.LastBuildOutput, $"NETSDK1202: The workload '{targetFramework}' is out of support"), $"{builder.BuildLogFile} should have NETSDK1202.");
7171
}
7272

7373
[Test]

0 commit comments

Comments
 (0)