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> > > > > > > ``` > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >