Great to hear that it works well for you!

Personally I can't wait to get rid of all the legacy stuff in Ignite code
base,
and use newer language version, hopefully that comes soon enough :)

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

> I get the legacy argument :)
>
> I have just upgraded out Ignite system to Ignite 2.8 on .Net Core 3.1
> exclusively across a collection of services and large collection of
> supporting libraries. It works very well. This project involved killing all
> legacy .Net Framework dependencies. It was quite cathartic.
>
> It is features like Span, ValueTask etc, and all the new goodies coming
> down the line which would be good to take advantage of in the Ignite C#
> client.
>
>
>
> On Thu, Apr 2, 2020 at 9:23 AM Pavel Tupitsyn <ptupit...@apache.org>
> wrote:
>
> > 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