You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by "NightOwl888 (via GitHub)" <gi...@apache.org> on 2024/03/11 16:55:25 UTC

Re: [I] Target .NET 8 [lucenenet]

NightOwl888 commented on issue #928:
URL: https://github.com/apache/lucenenet/issues/928#issuecomment-1988949583

   What is going out of support is the .NET 6 *runtime*. The target framework `net6.0` won't be going out of support and (barring any major screwup from Microsoft) will support all future runtimes of .NET Core. When a project loads a class library that targets an earlier target framework, it loads whatever runtime is being used by the executable loading the class library. A target framework is a *set of APIs*, not a runtime.
   
   > You can see for yourself if you try running a project with a `net8.0` executable and only install the .NET 8 runtime on the machine. It still works because the .NET 6 runtime doesn't need to be loaded.
   
   I suspect we probably wouldn't be having this conversation if we had just stuck with `netstandard2.1`, which hasn't ever had a runtime and never added support for `net6.0`. But there were performance advantages with targeting `net6.0` so we added support.
   
   We do need to add tests for .NET 8.0, but barring any additional performance improvements, there really is no compelling reason to increment our target framework until after the runtime is long gone. .NET 6 is the *minimum* version of the .NET Core runtime that is supported by `net6.0`. I have already analyzed the source for the primary benefit (hardware intrinsics) and that has not changed at all in .NET 7.0 or 8.0.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@lucenenet.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org