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 + + + + + + + + + + +