Hi Raymond,

> .Net Standard 2.0 is the end of line for .Net Standard
> All new .Net and C# language features are only being added to .Net Core

Do you mean .NET Framework here instead of .NET Standard?
Yes, ".NET Framework", old Windows-only thing, is not going to be updated
with new features anymore,
and will be eventually killed off.

This has nothing to do with .NET Standard, however, which is not going
anywhere.
.NET Core 3.1 was introduced along with .NET Standard 2.1, they evolve
together.

.NET Standard is the recommended target for library authors:
https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/cross-platform-targeting


Just to be clear: as a user, you will get all the performance benefits of
.NET Core 3.1,
even if Ignite library is targeting any old .NET Standard.
Even today, you can run Ignite 2.8 on .NET Core 3.1 and get all those
benefits.
I did some benchmarks, blog post is coming soon on that.

We will probably do multitargeting with conditional compilation in order to
use some
new performance-critical features and APIs (ValueTask, Span,
Reflection.Emit).

We won't target only .NET Core 3.1. We can't afford losing all the users of
older .NET versions.



On Wed, Apr 1, 2020 at 10:18 PM Raymond Wilson <raymond_wil...@trimble.com>
wrote:

> Hi Pavel,
>
> It might be worth considering moving to .Net Core 3.1 instead of .Net
> Standard 2.0 for Ignite 3.0.
>
> .Net Standard 2.0 is the end of line for .Net Standard. While this does
> permit cross compatibility with .Net Framework, this is also at an end of
> line.
>
> All new .Net and C# language features are only being added to .Net
> Core, and there are significant improvements in many areas within .Net
> Core. With .Net 5.0 being the  successor to .Net Framework and .Net Core
> would moving to .Net Core 3.1 be a useful stage before targeting .Net Core
> 5.0 in the future?
>
> Thanks,
> Raymond.
>
>
> On Thu, Apr 2, 2020 at 1:00 AM Pavel Tupitsyn <ptupit...@apache.org>
> wrote:
>
> > Nikolay,
> >
> > We are targeting multiple platforms this way.
> > Our lowest supported .NET version is 4.0, that's what Apache.Ignite.sln
> is
> > for, and all the related projects.
> > However, .NET 4.0 is old and not cross-platform, so we also target .NET
> > Core 2.0.
> >
> > We have to have separate solution and project files for that
> > (Apache.Ignite.DotNetCore.sln) for multiple reasons:
> > * Normally you can multitarget as part of one csproj file, but not with
> > with a combination of .NET 4.0 and .NET Core 2.0
> > * There are legacy integrations (ASP.NET, EF) that do not compile under
> > .NET Core.
> >
> > This is going to change in Ignite 3.0, we will get rid of the legacy
> parts
> > and move on to .NET Standard 2.0.
> >
> > Thanks,
> > Pavel
> >
> > On Wed, Apr 1, 2020 at 1:08 PM Ilya Kasnacheev <
> ilya.kasnach...@gmail.com>
> > wrote:
> >
> > > Hello!
> > >
> > > As far as my understanding goes, v4.0 is for .Net classic, such as
> Mono.
> > >
> > > Regards,
> > > --
> > > Ilya Kasnacheev
> > >
> > >
> > > ср, 1 апр. 2020 г. в 13:04, Nikolay Izhikov <nizhi...@apache.org>:
> > >
> > > > Hello. Igniters.
> > > >
> > > > I working on some issue in .Net platforms and found that different
> > > project
> > > > files for .Net contains different platform versions.
> > > > Can someone explain why?
> > > >
> > > > 1. Apache.Ignite.Core.csproj [1]
> > > >
> > > > ```
> > > > <PropertyGroup>
> > > > ...
> > > >   <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
> > > > ...
> > > > </PropertyGroup>
> > > > ```
> > > >
> > > > 2. Apache.Ignite.Core.DotNetCore.csproj
> > > >
> > > > ```
> > > > <Project Sdk="Microsoft.NET.Sdk»>
> > > > …
> > > >     <TargetFramework>netcoreapp2.0</TargetFramework>
> > > > …
> > > > </Project>
> > > > ```
> > > >
> > > >
> > > >
> > > >
> > >
> >
>

Reply via email to