.Net core versions

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

.Net core versions

Nikolay Izhikov-2
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 | Threaded
Open this post in threaded view
|

Re: .Net core versions

Ilya Kasnacheev
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 <[hidden email]>:

> 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 | Threaded
Open this post in threaded view
|

Re: .Net core versions

Pavel Tupitsyn
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 <[hidden email]>
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 <[hidden email]>:
>
> > 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 | Threaded
Open this post in threaded view
|

Re: .Net core versions

Nikolay Izhikov-2
Hello, Pavel.

Thanks for the explanation.

AFAIK .Net Core 2 is legacy also and not supported anymore [1]

Is that true?
Should we move to the .Net Core 3?

[1] https://dotnet.microsoft.com/download/dotnet-core/2.2

> 1 апр. 2020 г., в 15:00, Pavel Tupitsyn <[hidden email]> написал(а):
>
> 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 <[hidden email]>
> 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 <[hidden email]>:
>>
>>> 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 | Threaded
Open this post in threaded view
|

Re: .Net core versions

Pavel Tupitsyn
Do not confuse .NET Core and .NET Standard [1].
.NET Standard is an interface, .NET Core is an implementation.
.NET Core versions have end-of-support dates, .NET Standard versions do
not, since there is nothing to support.

Libraries should target .NET Standard, runnable applications can only
target .NET Core.
Ignite is a set of libraries and one runnable binary (standalone node).

* Ignite libraries will target .NET Standard 2.0 - lowest possible for us,
widely supported [1]
* Ignite standalone binary will target latest .NET Core LTS version
available during release, to maximize performance and security

[1] https://docs.microsoft.com/en-us/dotnet/standard/net-standard


On Wed, Apr 1, 2020 at 3:05 PM Nikolay Izhikov <[hidden email]> wrote:

> Hello, Pavel.
>
> Thanks for the explanation.
>
> AFAIK .Net Core 2 is legacy also and not supported anymore [1]
>
> Is that true?
> Should we move to the .Net Core 3?
>
> [1] https://dotnet.microsoft.com/download/dotnet-core/2.2
>
> > 1 апр. 2020 г., в 15:00, Pavel Tupitsyn <[hidden email]>
> написал(а):
> >
> > 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 <
> [hidden email]>
> > 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 <[hidden email]>:
> >>
> >>> 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 | Threaded
Open this post in threaded view
|

Re: .Net core versions

Raymond Wilson
In reply to this post by Pavel Tupitsyn
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 <[hidden email]> 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 <[hidden email]>
> 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 <[hidden email]>:
> >
> > > 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 | Threaded
Open this post in threaded view
|

Re: .Net core versions

Pavel Tupitsyn
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 <[hidden email]>
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 <[hidden email]>
> 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 <
> [hidden email]>
> > 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 <[hidden email]>:
> > >
> > > > 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 | Threaded
Open this post in threaded view
|

Re: .Net core versions

Raymond Wilson
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 <[hidden email]> 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 <[hidden email]
> >
> 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 <[hidden email]>
> > 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 <
> > [hidden email]>
> > > 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 <[hidden email]>:
> > > >
> > > > > 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 | Threaded
Open this post in threaded view
|

Re: .Net core versions

Pavel Tupitsyn
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 <[hidden email]>
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 <[hidden email]>
> 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 <
> [hidden email]
> > >
> > 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 <[hidden email]>
> > > 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 <
> > > [hidden email]>
> > > > 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 <[hidden email]>:
> > > > >
> > > > > > 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>
> > > > > > ```
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>