Skip to content
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 support for .NET 4.0 #692

Open
dotnetjunkie opened this issue Apr 25, 2019 · 4 comments

Comments

Projects
None yet
2 participants
@dotnetjunkie
Copy link
Collaborator

commented Apr 25, 2019

.NET 4.0 is over 9 years old and has been superseded by .NET 4.5 for 6.5 years. With the introduction of Simple Injector v5.0 we should remove support for .NET 4.0, as this simplifies parts of the core library which is littered with compilation switches in order to support .NET 4.0 as well.

When development of Simple Injector v5.0 is started, we will assess what minimum version of .NET we should support. My first impression is that we can easily support v4.5.

@dotnetjunkie dotnetjunkie added the task label Apr 25, 2019

@dotnetjunkie dotnetjunkie added this to the v5.0 milestone Apr 25, 2019

@dotnetjunkie

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 29, 2019

Should we remove support for netstandard1.0 and netstandard1.3 as well?

@TheBigRic

This comment has been minimized.

Copy link
Collaborator

commented Apr 29, 2019

Well I don't think so.
Looking at the comparison dropping .net standard 1.3 is virtually the same as dropping support for .Net Framework 4.6. Which is a bridge too far if you ask me.

.Net Standard 1.0 however is a different ball game, because afaik 1.0 not fully implements .Net Framework 4.5.

The recommendation is to target as low as possible. So do you have to go to hoops to support .Net Standard 1.3?

@dotnetjunkie

This comment has been minimized.

Copy link
Collaborator Author

commented Apr 29, 2019

There are a few compiler directives in the code that enable .NET Standard 1.0 support, but the most prominent thing is AsyncScopedLifestyle. It is only available under .NET Standard 1.3 and up and .NET 4.5 and up. With the removal of both .NET Standard 1.0 and .NET 4.0 support, we can make AsyncScopedLifestyle the default scoped lifestyle.

It might still be useful to run Simple Injector in a .NET Standard 1.0 environment and developers might actually depend on this. This is that I have no idea what kind of use cases these are. Perhaps someone can enlighten me?

@TheBigRic

This comment has been minimized.

Copy link
Collaborator

commented Apr 29, 2019

Somebody still has to explain this to me. Why does the comparison show .net standard 1.0 and .net framework 4.5 while you clearly state that in practice 4.5 can do more. Is .net standard the most common denominator? It still dazzles me although the idea for .net standard seems appealing.

I can't give you a use case. I only use the full .Net Framework until now when I also use Simple Injector.

I see however that there are a lot of packages only supported .Net Standard 1.3 and up. Seems like .Net Standard 1.3 is something like Entity Framework 4. The first thing that exactly really works?

If that is the case, drop it. Otherwise, well.... others have to answer to that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.