Skip to content
This repository has been archived by the owner on Nov 1, 2018. It is now read-only.

Target .NET Standard 1.4 & 2.0 #370

Merged
merged 2 commits into from May 23, 2017
Merged

Target .NET Standard 1.4 & 2.0 #370

merged 2 commits into from May 23, 2017

Conversation

bricelam
Copy link
Contributor

@bricelam bricelam commented May 16, 2017

Ideally, we'd just target .NET Standard 2.0, but since it will take a few months for UWP to support it, we'll cross-target 1.4 in the mean time. (See 64319de for the code we'll be able to remvoe.)

Blocked waiting on updates to KoreBuild

Resolves #350

@davidfowl
Copy link
Member

Why both?

NuGet.config Outdated
@@ -4,5 +4,7 @@
<add key="AspNetCore" value="https://dotnet.myget.org/F/aspnetcore-ci-dev/api/v3/index.json" />
<add key="AspNetCoreTools" value="https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json" />
<add key="NuGet" value="https://api.nuget.org/v3/index.json" />
<!-- TODO: Remove -->
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove before commit right?

Copy link
Contributor Author

@bricelam bricelam May 16, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, just waiting for us to take the latest build... (hence blocked)

@bricelam
Copy link
Contributor Author

bricelam commented May 16, 2017

Why both?

UWP. We hope to drop 1.4 ASAP.

@alexvaluyskiy
Copy link

alexvaluyskiy commented May 18, 2017

@bricelam @davidfowl Wait wait, are you planning to remove support for .NET 4.5.1 (and NetStandard 1.4 eventually) without any discussing with the community? Again? Only to have a possibility to remove a couple of lines of code? It is not serious. I think it is the same issue as MS had here: dotnet/aspnetcore#2022

Microsoft.Data.Sqlite is only one ADO.NET Sqlite provider which supports Linux and much faster that the official System.Data.SQLite.Core package. It has more than 400_000 downloads on nuget and could be used outside of MS stack (ASP.NET Core, Entity Framework).
The most of developers still want to have net4x support, why you want to remove it?

@willdean
Copy link

@alexvaluyskiy There doesn't seem to be any discussion here about dropping .NET standard (which includes full netfx) - this is about changing to .NET standard 2.0. It's not the same thing as the notorious 2022 thread.

@@ -17,7 +17,7 @@ Microsoft.Data.Sqlite.SqliteException
Microsoft.Data.Sqlite.SqliteFactory
Microsoft.Data.Sqlite.SqliteParameter
Microsoft.Data.Sqlite.SqliteTransaction</Description>
<TargetFrameworks>net451;netstandard1.2</TargetFrameworks>
<TargetFrameworks>netstandard2.0;netstandard1.4</TargetFrameworks>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why have you removed net451?

Copy link

@willdean willdean May 18, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because netstandard2.0 implies it. (Roughly)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because it's being replaced with .NET Standard 2.0, which is supported by .NET 4.6.1.

@alexvaluyskiy
Copy link

@willdean Look at the changes. They have removed support for net451

@MartinJohns
Copy link

@alexvaluyskiy They're replacing it with netstandard2.0. .NET Standard 2.0 is supported by .NET 4.6.1, so .NET support is not removed.

@schotime
Copy link

Yeh. Netstandard 2.0 is net461 min. This is not the same thing.

@davidfowl
Copy link
Member

@alexvaluyskiy across the board we don't plan to support older .NET Framework versions. .NET Framework 4.6.1 will be required in most if not all cases to use the newer versions of these libraries.

@alexvaluyskiy
Copy link

alexvaluyskiy commented May 18, 2017

@davidfowl I don't have any problems with net461. Just to announce it, that beforehand. Developers and the authors of libraries should know MS strategy.
Which one of frameworks they should choose to migration in the future: 4.5.2 (which still supported by MS) or .NET 4.6.1. It is no that clear at the moment

@davidfowl
Copy link
Member

davidfowl commented May 18, 2017

@alexvaluyskiy We officially announced that we're going to explicitly target .NET Standard 2.0 on the blog post and in the announcements repository aspnet/Announcements#243. So I'm not exactly sure what you're asking for.

@yaakov-h
Copy link

@alexvaluyskiy Almost all of the latest round of Microsoft libraries require .NET 4.6 or higher. Given that .NET Standard 1.4-2.0 all require 4.6.1 or higher (with tooling 2.0), and the announcement linked above, it's no surprise that you should be on or moving towards 4.6.1, 4.6.2, or 4.7.

@alexvaluyskiy
Copy link

@davidfowl is it mean net461 TFM or netstandard2.0 which support net461?

@davidfowl
Copy link
Member

The announcement literally says this:

image

The blog post says "Our goal is to ship ASP.NET Core 2.0 on .NET Standard 2.0 so applications can run on .NET Core, Mono and .NET Framework". The announcement tries to go into more details but it really is all there...

@alexvaluyskiy
Copy link

Retarget all Microsoft.AspNetCore.* packages to netstandard2.0.
Cross-compiling to net461 when APIs are only available in net461 and netcoreapp2.0

That's mean that all assemblies will target netstandard2.0 by default. What about Visual Studio 2015 Update 3 with nuget 3.4.4? I can't use any netstandard2.0 packages from net461 project at the moment. Do you plan to make the update of the tooling for VS 2015?

@alexvaluyskiy
Copy link

Also, all projects from Microsoft.Extensions.* still target netstandard1.x, because use the lowest version of netstandard if you can. Why do you want to drop netstandard1.4 here in the future (or even right now)?

@bricelam
Copy link
Contributor Author

Why do you want to drop netstandard1.4 here

We view the library as a bit crippled on .NET Standard 1.x. A good example is #313. Because Thread didn't exist before .NET Standard 2.0, we had no way to yield in the retry loop leading to unnecessary CPU spikes.

@gulbanana
Copy link

moving from .net 4.5 to 4.6 is a nonissue for almost everybody. the change is fine, being able to do this sort of thing was the entire goal of ns2.0

@bricelam bricelam removed the blocked label May 23, 2017
@bricelam bricelam merged commit bedb056 into aspnet:dev May 23, 2017
@bricelam bricelam deleted the feature/netstandard2.0 branch May 23, 2017 23:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants