Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is .NET Platform 5.4 in ASP.NET 5 Class Library (Package)?

I've added a new Class Library (Package) into ASP.NET 5 based solution. I've noticed .NET Platform 5.4 section in it's project.json:

"frameworks": {
    "net451": {
          "dependencies": {}
    },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
}

What is it for? Why is it different from the ASP.NET web project?

like image 840
Boris Lipschitz Avatar asked Dec 30 '15 07:12

Boris Lipschitz


People also ask

What version of the NET Framework does my library run on?

If a library targets .NET Platform Standard version 1.3, it can only run on .NET Framework 4.6 or later, Universal Windows Platform 10 (UWP), DNX Core 5.0 and Mono/Xamarin platforms. If a library targets .NET Platform Standard version 1.3, it can consume libraries from all previous .NET Platform Standard versions (1.2, 1.1, 1.0).

Which versions of ASP NET Core should a library support?

ASP.NET Core adheres to the .NET Core support policy. Consult the support policy when determining which ASP.NET Core versions to support in a library. A library should: Make an effort to support all ASP.NET Core versions classified as Long-Term Support (LTS). Not feel obligated to support ASP.NET Core versions classified as End of Life (EOL).

How do I reference ASP NET Core in a class library?

To reference ASP.NET Core, add the following <FrameworkReference> element to your project file: Referencing ASP.NET Core in this manner is only supported for projects targeting .NET Core 3.x. For information on using ASP.NET Core 5.0 and later APIs in a class library, see this GitHub issue.

What is a class library in net?

.NET class libraries. Class libraries are the shared library concept for .NET. They enable you to componentize useful functionality into modules that can be used by multiple applications. They can also be used as a means of loading functionality that is not needed or not known at application startup.


1 Answers

I'm pretty sure that's a temporary designation for .NET 5 pre-RTM. On Mac OSX .NET Core, the designation is dnxcore50.

One example: here's an announcement stating that dnxcore50 should be renamed to dotnet5.4. This was announced on October 31 2015.

And then on Dec 2 2015, Microsoft changed the designation to netstandard1.4 for a general API-level platform targeting and added back dnxcore50 to indicate .NET Core 5.0-specific platform targeting.

Looks like the .NET Standard Platform documentation is pretty stable and provide a more in-depth reading over the difference between ".NET Platform Standard" and "Platform".

like image 159
Adrian Godong Avatar answered Oct 14 '22 07:10

Adrian Godong