-
-
Notifications
You must be signed in to change notification settings - Fork 839
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove .NET 4.6.1 support; netstandard2.0/.NET 4.7.2 new minimum #1161
Conversation
Oh, I also saw we still had a bunch of partial trust tests hanging out, which don't really make sense when the assembly isn't explicitly annotated for that. These were remnants from the old days of code access security and |
By way of information for .NET 4.6.1... it appears .NET 4.6.1 is supported as part of the operating system(s) with which it ships:
When they say "Windows 10," they mean "Windows 10 with no updates," or at least I assume so, since on that same page they talk about how .NET 4.6.2 is supported as part of "Windows 10 (Update 1607)." Server 2012 R2 ended mainstream support on October 9, 2018. Windows 10 (Update 1607) ended mainstream support on April 9, 2019. (It's hard to tell when "unpatched Windows 10" ended mainstream support, but I have to assume it was before that.) Point being, this effectively puts .NET 4.6.1 in an unsupported position as of about April 2019 at the latest. It's likely reasonable to assume that folks have moved on, or if they can't then they're still on unsupported operating systems and they have other problems to solve than wondering why they can't take Autofac 6. |
I think if people can still use a .NET Framework version with Autofac, thats good enough. So if we target ns2.0, and that runs on 4.7.2, that's more than sufficient from my perspective. |
Fair enough. Should I include that in this PR? |
I would; but perhaps rename the PR? That supported platform change is now kinda the major change of this PR... |
….NET 4.7.2 on desktop supports this.
The removal of .NET 4.6.1 is now included.
Huge benefit here - you can do a full build and test of the whole thing on Windows or Mac now, opening up the opportunity for a new set of contributors to participate. I did update the scanned assembly to netstandard2.1 because the Omnisharp analyzer mechanism got bent out of shape that the tests (netcoreapp3.0) were trying to use Autofac at netstandard2.1 but the scanned assembly was forcing a downgrade to netstandard2.0. It doesn't really matter, just gets it to quit complaining. |
I do see a lot of |
TFM |
Is it worth changing to a linux appveyor agent from now? Potentially faster builds? |
I guess the machine image used would be smaller so it should definitely be a bit faster. |
We could update the build, for sure... But could that be a separate PR? This has sort of morphed a bit from adding VS Code support so I can work on some diagnostics stuff (my daily driver recently, for reasons I won't get into, is a somewhat underpowered Mac and the VS-in-a-Windows-VM experience there is sub-par) to removing net461 and I feel like I'm heading into yak shaving territory. |
Yes, we can do that at any point really. |
Awesome. Let me know if I should approve/merge my own PR. Which, like, I'm totally fine with, just checking with the group. :D |
Yep, crack on! I had a look at the changes this morning and everything looks good. 🧗♂️ |
This enables a Mac with VS Code and Mono to at least build Autofac. It doesn't allow .NET 4.6.1 tests to run but it can build.
I'm starting to think maybe dropping .NET 4.6.1 specific support might be OK for Autofac 6. .NET 4.7.2 does support
netstandard2.0
, it's been out since 2018, and we could still build for that, which would keep WCF and other .NET desktop framework extensions working. (That's an orthogonal discussion, but it'd make this VS Code integration way easier. I could do that as part of this PR if needed.)There's a small fix that also snuck in here, where I noticed the
DefaultDiagnosticTracer
might have a memory leak with respect to how it tracks what traces are in progress. I had a whole... there was a whole thing where I started a branch to work on diagnostics, then thought about getting build support in there, then... anyway, it was hard to back that out and cherry pick and I just left it. I can re-branch and fix all this up if needed. My Git-fu is somewhat lacking.