6. Fundamentals - amshekar/dotnet-core-learning GitHub Wiki
-
.Net Standard is a specification , Which defines a set of API's that all .net platforms (.net framework,.net core and xamarin) have to implement. Which is pretty similar to HTML(i.e. specification) which is implemented to different browsers.
-
target framework moniker(netstandard2.0, netcoreapp2.0) under property group to migrate from one to others or multiple
-
Similar kind of class libraries in legacy .netframework are called portable class library , .net standard libraries are used in any application once its compiled but where as the portable class libraries need to recompile for every environment/targeted platform or application where we want to use.
-
All the dlls will be built under the netstandard.dll (i.e. for ex extends [netstandard]System.Object) in .net standard 2.0. which has around 33,000 api's and backward compatable i.e higher version contains all the lower version apis and the new apis.
-
Clever type forwarding makes netstandard to work on different .net platforms : .Net core and .net framework contains netstandard.dll , netstandard.dll will contain clever type forwarding to respective framework either to .netframework or to .net core.(ex : when the application is running in .net core netstandard will forward to .netcore to use system.runtime=>system.object dll when it is .net framework it will forward to use the mscorlib=>system.object dll from .net framework)
-
.Net portability analyzer is a visual studio extension check the porta bility of the different apis in the class library
https://msdn.microsoft.com/en-us/magazine/mt842506.aspx
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/startup?view=aspnetcore-2.1