Skip to content
This repository has been archived by the owner on Jul 26, 2023. It is now read-only.

Drop targeting all but netstandard2.0, uap10.0, and net45 #435

Closed
AArnott opened this issue Jul 7, 2019 · 9 comments
Closed

Drop targeting all but netstandard2.0, uap10.0, and net45 #435

AArnott opened this issue Jul 7, 2019 · 9 comments
Assignees

Comments

@AArnott
Copy link
Collaborator

AArnott commented Jul 7, 2019

Microsoft's long-term support for .NET Core 1.x and 2.0 are over. Customers targeting these versions are in a really bad place due to no security patches being offered and thus there are likely few to none out there.

Similarly, such a critical mass of customers already have net472 on their machines that many apps and libraries now support it.

PCLs (e.g. portable-net40+win8+wpa81) have not been createable in VS for years as well.

This means we can likely target just netstandard2.0 (and UWP to retain our Store app compliance).

@AArnott AArnott self-assigned this Jul 7, 2019
@AArnott
Copy link
Collaborator Author

AArnott commented Jul 7, 2019

@vbfox @arlm @jmelosegui Comments or concerns?

@arlm
Copy link
Contributor

arlm commented Jul 8, 2019 via email

@vatsan-madhavan
Copy link
Member

I had a hard time building the repo recentlly - had to download an archived copy of Win8 SDK to get a clean build. I may have had to install some netfx dev pack as well.. glad this is being considered.

@AArnott
Copy link
Collaborator Author

AArnott commented Oct 15, 2019

In 9bf33ae I dropped the PCL profiles from all projects. I dropped net40 from all but one project (only one project actually needed it).
I also dropped win8 support because VS2019 has a bug(?) where it can't build them even with the Win8 SDK installed. In place of win8 I target uap10.0.

The CONTRIBUTING.md doc is updated with instructions to get it to build. I've tested it on a very clean Win10 machine (using Win10's Sandbox VM) so I believe it should all work.

I haven't yet dropped net20 support. I might do that. I'll wait to hear if there are screams from just dropping net40 or PCLs or Win8 before cutting more.

@qmfrederik qmfrederik mentioned this issue Jul 1, 2020
@qmfrederik
Copy link
Contributor

re: net20: I couldn't find any hard numbers, but it looks like Windows 7 is the oldest Windows version which is still relevant. .NET 4.x should be delivered to that OS via Windows Update. So I'd say it's safe to assume NET 4.x is a good baseline.

@AArnott
Copy link
Collaborator Author

AArnott commented Jul 1, 2020

Yes, for all except embedded medical devices which tend to be many years behind everyone else. But then, they probably won't be consuming these nuget packages directly anyway, and they can always copy and paste the code they need. So ya, let's do it.

@vatsan-madhavan
Copy link
Member

OTOH now there are netfx ref assemblies available on NuGet that seem to work reliably. Not discouraging this move - just pointing out an option.

https://www.nuget.org/packages/Microsoft.NETFramework.ReferenceAssemblies.net20/

@AArnott
Copy link
Collaborator Author

AArnott commented Jul 1, 2020

@vatsan-madhavan We already use these:

<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0-preview.2" PrivateAssets="All" />

But I'm not sure what that has to do with the discussion. We're not dropping net20 support for lack of ref assemblies. The build is quite slow, and the design-time experience in VS is rather sluggish and memory heavy as well. Reducing the TFMs we support make development that much better.

While dropping netstandard1.x support seems to make sense, dropping net20 is probably a little more debatable. Still, I'm open to all arguments for and against.

@AArnott
Copy link
Collaborator Author

AArnott commented Jul 4, 2020

We're keeping net45 for now. netstandard2.0 and uap10.0 are also still around per proposal.
The rest are gone.

@AArnott AArnott closed this as completed Jul 4, 2020
@AArnott AArnott changed the title Drop targeting all but netstandard2.0 (and UWP) Drop targeting all but netstandard2.0, uap10.0, and net45 Jul 4, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants