dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.45k stars 10.03k forks source link

Why is netstandard1.6 required? #1909

Closed Qowy closed 7 years ago

Qowy commented 7 years ago

Hi, Why does asp.net core specify netstandard1.6 as a target framework? From some analysis of it's dependencies and running the compatibility analyzer on some assemblies I cannot (in this short analysis) find APIs that would require this. The problem is that this makes asp.net core unusable in UWP applications (and parts of it like a https enabled rest server would be quite helpful in IoT UWP projects).

EntityFramework for example specifies netstandard1.3 and therefore works in UWP.

In addition, you do provide net451 as a targetframework which only supports netstandard1.2, so is there any reason netstandard1.6 can not be reduced to 1.2 as a target framework?

davidfowl commented 7 years ago

Can you be more specific? Which packages?

Qowy commented 7 years ago

Microsoft.AspNetCore.Mvc.Core for example I have done some further research myself, and I think there is some reflection stuff or similar in there that net451 supports but netstandard1.2 does not. However I have a hard time actually tracking down the supported apis by netstandard version

davidfowl commented 7 years ago

The packages that target higher netstandard versions do so because they are using an API that requires a higher netstandard version.

Qowy commented 7 years ago

Yes after some more research I found for example System.AppContext.GetData() that is only usable in netstandard1.6 (in case anyone else is googling this :) ) but not required in net452.