shimat / opencvsharp

OpenCV wrapper for .NET
Apache License 2.0
5.22k stars 1.13k forks source link

Will this project support .NET 8 (LTS) once its released? #1616

Closed hedronn closed 6 months ago

hedronn commented 8 months ago

No issue, just a question. Will this project support .NET 8 (LTS) once its released?

shimat commented 8 months ago

Currently OpenCvSharp is provided as an assembly for .NET 6, which should also work as .NET 8. I think it will be some time before OpenCvSharp.dll will be built as TargetFramework=net8 .

hedronn commented 8 months ago

Assuming there are no breaking changes porting .net6 version to .net8 (which i doubt) it should be fairly easy to simply reference the new framework, plus the project would benefit from the massive performance improvements from version 6 to 8.

Happy to assist in the investigation

rhalaly commented 8 months ago

How will this affect consumers who use older .NET versions in their product and want the latest OpenCV features?

LostBeard commented 8 months ago

@rhalaly Nuget packages can have multiple framework targets. .Net 7 or .Net 8 targets can be added without losing .Net 6 support. If that were to be the route taken, it would not affect consumers who use older .Net versions at all. Multitargeting in a project as large as this one may not be easy though, and could be a real pain in the rear.

If he simply switched to .Net 8 as the target framework the change would be easier but then, as you stated, people still using older frameworks would not be able to use it.

The current .Net 6 target works in .Net 7 and 8.

That is probably why @shimat wrote

I think it will be some time before OpenCvSharp.dll will be built as TargetFramework=net8 .

rhalaly commented 8 months ago

Didn't know it can support multiple .NET versions at once (I know it can support several versions between frameworks, for example .NET and .NET Framework)

Thanks!

hedronn commented 6 months ago

That is probably why @shimat wrote: - I think it will be some time before OpenCvSharp.dll will be built as TargetFramework=net8>

Not too long I hope, as we also need to consider the lifecycle of .NET frameworks, below is the Microsoft page link to the roadmap for support of .NET releases.

Note: .NET 6 (LTS) support ends November 12, 2024

https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core