xamarin-macios/dotnet
Rolf Bjarne Kvinge 5b1fc67694
[dotnet] Stop using a separate default platform version. (#19754)
In theory we should define the default platform version if it's not specified
in the TFM, and this default should not change for a given .NET version:

* We release support for iOS 17.0 with .NET 8
* Apple releases iOS 18.0, we're still using .NET 8. This default continues to be iOS 17.0
* .NET 9 is shipped, and at this point we bump the default to iOS 18.0

Basically: this should be the last OS version of the platform in question when
the current major .NET version is first released to stable.

Ref: 8e6394406d/accepted/2020/net5/net5.md (os-versions)

However, this doesn't work well for Apple platforms: whenever Apple releases
new Xcode versions, our existing workloads might not be compatible with the
new Xcode. We'll of course ship updateds workload with support for the new
Xcode, but defaulting to an older target platform version would mean that
developers wouldn't get the new workload, they'd get the old one. This is
exacerbated by the fact that Apple aggressively auto-updates Xcode on
developers' machines: they might wake up one day to a broken build - the
obvious fix ("dotnet workload update") doesn't fix anything - even if we've
shipped updated workloads - because the default is to use the old one. They'd
have to manually specify the target platform version in the target platform to
get the updated workload ("net8.0-ios17.2" to use the iOS 17.2 workload
instead of "net8.0-ios", which would use the default (old/initial/17.0) .NET 8
workload) - and then update _again_ when the next Xcode comes around. At this
point the point of having a sane default value is totally out the window,
because everybody would have to specify (and continuously update) a platform
version in their project files to keep their projects building.

So we've made the decision that the default target platform version is always
the latest target platform version.
2024-01-09 09:47:07 +01:00
..
Microsoft.MacCatalyst.Sdk [net8.0] Revert multi-targeting support. (#19145) 2023-10-10 17:20:09 +02:00
Microsoft.iOS.Sdk [net8.0] Revert multi-targeting support. (#19145) 2023-10-10 17:20:09 +02:00
Microsoft.iOS.Windows.Sdk [dotnet] Add targets to compute mlaunch arguments for installing and launching mobile apps. Fixes #18359. (#18446) 2023-06-15 07:21:09 +02:00
Microsoft.macOS.Sdk [net8.0] Revert multi-targeting support. (#19145) 2023-10-10 17:20:09 +02:00
Microsoft.tvOS.Sdk [net8.0] Revert multi-targeting support. (#19145) 2023-10-10 17:20:09 +02:00
Templates [net8.0] Merge main into net8.0. 2023-08-22 15:22:11 +02:00
Workloads [dotnet] Generate WorkloadManifest.targets for each platform using a script. (#19421) 2023-11-13 10:36:40 +01:00
package [net8.0] Revert multi-targeting support. (#19145) 2023-10-10 17:20:09 +02:00
targets [dotnet] Stop using a separate default platform version. (#19754) 2024-01-09 09:47:07 +01:00
.gitignore [net8.0] Remove support for .NET 6. (#17901) 2023-03-29 10:25:25 +02:00
BreakingChanges.md [dotnet] Update doc about breaking nfloat changes and when we generate a global using directive. (#14487) 2022-03-25 07:40:23 +01:00
BundleContents.md [msbuild/dotnet] Add support for app extensions which are xpc services. (#18295) 2024-01-03 12:41:37 +01:00
DefaultCompilationIncludes.md [dotnet] Don't include @(Compile) and @(EmbeddedResource) items in @(BundleResource) items by default. Fixes #14442. (#14571) 2022-03-31 08:17:53 +02:00
HIERARCHY.md [dotnet] Add support for 'dotnet publish'. Fixes #11807. (#12397) 2021-08-11 10:01:16 +02:00
Makefile [dotnet] Stop using a separate default platform version. (#19754) 2024-01-09 09:47:07 +01:00
PackageInfo.plist Fix typos in comments. 2020-10-19 10:38:11 +02:00
SingleProject.md [dotnet] rename $(AppleShortVersion) to $(ApplicationDisplayVersion) (#12647) 2021-09-08 10:13:29 -04:00
VERSIONS.md Add special versioning rules for 'release-test/rt/' branches to have shorter versioning. (#19396) 2023-11-07 15:19:01 +01:00
build-custom-runtime.sh [configure] Add option to use a locally built dotnet/runtime. (#11643) 2021-05-21 22:18:25 +02:00
generate-target-platforms.csharp [net8.0] Revert multi-targeting support. (#19145) 2023-10-10 17:20:09 +02:00
generate-vs-workload.csharp [vs-workload] Set EnableSideBySideManifests=true (#18554) 2023-07-25 13:47:20 -04:00
generate-wix.csharp [dotnet] Package the workloads in a Windows installer (.msi) as well. (#9979) 2020-10-28 11:09:55 +01:00
generate-workloadmanifest-json.csharp [net8.0] Revert multi-targeting support. (#19145) 2023-10-10 17:20:09 +02:00
generate-workloadmanifest-targets.csharp [dotnet] Generate WorkloadManifest.targets for each platform using a script. (#19421) 2023-11-13 10:36:40 +01:00