From 88783df4bf0ba1aaeb0108bb3a0ed885e22823cf Mon Sep 17 00:00:00 2001 From: Matt Kotsenas Date: Sat, 8 Mar 2025 12:34:20 -0800 Subject: [PATCH 1/3] Set default TFM for Traversal to SDK version Fixes #602. Defaulting to `net45` feels odd, as it means folks are taking _new_ dependencies on .NET Framework without realizing it. It can also lead to oddities like #602 where old defaults apply to newer projects. This change allows the user to specify a particular version as before. However, otherwise `$(NETCoreAppMaximumVersion)` becomes the default version. I think this strikes a better balance, where users that care or need a specific version continue to do so, while those that consider Traversal projects more a facility of the build system get a more modern default. --- src/Traversal.UnitTests/TraversalTests.cs | 9 ++++++++- src/Traversal/Sdk/Traversal.targets | 5 +++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Traversal.UnitTests/TraversalTests.cs b/src/Traversal.UnitTests/TraversalTests.cs index 8214e4d3..2032f189 100644 --- a/src/Traversal.UnitTests/TraversalTests.cs +++ b/src/Traversal.UnitTests/TraversalTests.cs @@ -204,8 +204,15 @@ public void PropertiesAreSet(string target) [InlineData("RestoreProjectStyle", null, "PackageReference")] [InlineData("StopOnFirstFailure", "false", "false")] [InlineData("StopOnFirstFailure", null, "true")] +#if NETFRAMEWORK || NET9_0 // These map how MSBuild.ProjectCreation chooses SDK versions given the TFM of the test [InlineData("TargetFramework", "net6.0", "net6.0")] - [InlineData("TargetFramework", null, "net45")] + [InlineData("TargetFramework", null, "net9.0")] +#elif NET8_0 + [InlineData("TargetFramework", "net6.0", "net6.0")] + [InlineData("TargetFramework", null, "net8.0")] +#else +#error "Update test data for the given target framework" +#endif [InlineData("TraversalProjectNames", "custom.proj", "custom.proj")] [InlineData("TraversalProjectNames", null, "dirs.proj")] [InlineData("UsingMicrosoftTraversalSdk", null, "true")] diff --git a/src/Traversal/Sdk/Traversal.targets b/src/Traversal/Sdk/Traversal.targets index bd93f9ea..72a5c0f9 100644 --- a/src/Traversal/Sdk/Traversal.targets +++ b/src/Traversal/Sdk/Traversal.targets @@ -26,9 +26,10 @@ false - net45 + net$(NETCoreAppMaximumVersion) From 1cc6311534af302ecbfc8179f92edc50e4a11574 Mon Sep 17 00:00:00 2001 From: Matt Kotsenas Date: Mon, 10 Mar 2025 11:31:10 -0700 Subject: [PATCH 2/3] Fix TFM if max version isn't set --- src/Traversal/Sdk/Traversal.targets | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Traversal/Sdk/Traversal.targets b/src/Traversal/Sdk/Traversal.targets index 72a5c0f9..05bffcba 100644 --- a/src/Traversal/Sdk/Traversal.targets +++ b/src/Traversal/Sdk/Traversal.targets @@ -27,9 +27,11 @@ - net$(NETCoreAppMaximumVersion) + net$(NETCoreAppMaximumVersion) + net45 From 77ae736c1c5be1842f86b4df7f82e247a31b751a Mon Sep 17 00:00:00 2001 From: Matt Kotsenas Date: Mon, 10 Mar 2025 11:31:15 -0700 Subject: [PATCH 3/3] Bump version --- src/Traversal/version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Traversal/version.json b/src/Traversal/version.json index 36509201..05408c3a 100644 --- a/src/Traversal/version.json +++ b/src/Traversal/version.json @@ -1,4 +1,4 @@ { "inherit": true, - "version": "4.1" + "version": "5.0" }