From 3676dd767bbe6fe7c703b1f4661bb1edb7b4efd9 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 1 Nov 2025 21:23:13 +0000
Subject: [PATCH 1/2] Initial plan
From 0c15173bc36be99870d2d8bcc3ad806064ba048c Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 1 Nov 2025 21:38:14 +0000
Subject: [PATCH 2/2] Fix NET6_0 constants not being properly defined
- Explicitly set DisableImplicitFrameworkDefines=false in Platforms.targets
- This ensures Microsoft.NET.Sdk adds implicit framework defines like NET6_0, NET6_0_OR_GREATER, etc.
- Add test to verify implicit framework defines work correctly for net8.0 and net8.0-windows
Co-authored-by: clairernovotny <1427284+clairernovotny@users.noreply.github.com>
---
.../MSBuild.Sdk.Extras/Build/Platforms.targets | 3 ++-
Tests/ImplicitFrameworkDefines/Class1.cs | 18 ++++++++++++++++++
.../ImplicitFrameworkDefines.csproj | 18 ++++++++++++++++++
3 files changed, 38 insertions(+), 1 deletion(-)
create mode 100644 Tests/ImplicitFrameworkDefines/Class1.cs
create mode 100644 Tests/ImplicitFrameworkDefines/ImplicitFrameworkDefines.csproj
diff --git a/Source/MSBuild.Sdk.Extras/Build/Platforms.targets b/Source/MSBuild.Sdk.Extras/Build/Platforms.targets
index a8b80a8..9606451 100644
--- a/Source/MSBuild.Sdk.Extras/Build/Platforms.targets
+++ b/Source/MSBuild.Sdk.Extras/Build/Platforms.targets
@@ -42,7 +42,8 @@
-
+
+ false
$(ImplicitFrameworkIdentifierDefine)
diff --git a/Tests/ImplicitFrameworkDefines/Class1.cs b/Tests/ImplicitFrameworkDefines/Class1.cs
new file mode 100644
index 0000000..201ffae
--- /dev/null
+++ b/Tests/ImplicitFrameworkDefines/Class1.cs
@@ -0,0 +1,18 @@
+using System;
+
+namespace ImplicitFrameworkDefines
+{
+ public class TestClass
+ {
+#if !NET8_0 && !NET8_0_OR_GREATER
+#error NET8_0 and NET8_0_OR_GREATER must be defined
+#endif
+
+#if NET8_0_WINDOWS
+ // This should only compile for net8.0-windows
+ public const string Platform = "Windows";
+#else
+ public const string Platform = "CrossPlatform";
+#endif
+ }
+}
diff --git a/Tests/ImplicitFrameworkDefines/ImplicitFrameworkDefines.csproj b/Tests/ImplicitFrameworkDefines/ImplicitFrameworkDefines.csproj
new file mode 100644
index 0000000..e07592f
--- /dev/null
+++ b/Tests/ImplicitFrameworkDefines/ImplicitFrameworkDefines.csproj
@@ -0,0 +1,18 @@
+
+
+
+
+
+ net8.0;net8.0-windows
+ Library
+
+
+
+
+
+
+
+
+
+
+