diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/Sdk/Eol.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/Sdk/Eol.targets
new file mode 100644
index 00000000000..a76b5dbb53c
--- /dev/null
+++ b/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/Sdk/Eol.targets
@@ -0,0 +1,44 @@
+
+
+
+
+ $(WarningsAsErrors);NETSDK1202
+
+ true
+ 21.0
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets
index eab40d817a6..81faa7725c6 100644
--- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets
+++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.targets
@@ -4,7 +4,7 @@
Condition=" $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '8.0')) " />
-
@@ -16,7 +16,7 @@
/>
-
+
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs
index 2691ac568bf..2840c248451 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/XASdkTests.cs
@@ -1300,6 +1300,17 @@ public void SettingCombinations (bool isRelease, bool useInterpreter, bool publi
Assert.AreEqual (expected, builder.Build (), $"{proj.ProjectName} should {(expected ? "succeed" : "fail")}");
}
+ [Test]
+ public void EolFrameworks()
+ {
+ var library = new XASdkProject (outputType: "Library") {
+ TargetFramework = "net6.0-android",
+ };
+ var dotnet = CreateDotNetBuilder (library);
+ Assert.IsFalse (dotnet.Restore (), $"{library.ProjectName} should fail");
+ Assert.IsTrue (StringAssertEx.ContainsText (dotnet.LastBuildOutput, "NETSDK1202"), $"{dotnet.BuildLogFile} should have NETSDK1202.");
+ }
+
DotNetCLI CreateDotNetBuilder (string relativeProjectDir = null)
{
if (string.IsNullOrEmpty (relativeProjectDir)) {
diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs
index c0ba14ad487..4468c83bba6 100644
--- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs
+++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Common/DotNetCLI.cs
@@ -96,6 +96,12 @@ public bool New (string template, string output = null)
return Execute (arguments.ToArray ());
}
+ public bool Restore (string target = null, string runtimeIdentifier = null, string [] parameters = null)
+ {
+ var arguments = GetDefaultCommandLineArgs ("restore", target, runtimeIdentifier, parameters);
+ return Execute (arguments.ToArray ());
+ }
+
public bool Build (string target = null, string runtimeIdentifier = null, string [] parameters = null)
{
var arguments = GetDefaultCommandLineArgs ("build", target, runtimeIdentifier, parameters);