Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is .NET class System.String now in three different assemblies, according to MSDN?

I just recently discovered on MSDN that e.g. class System.String of the .NET framework now lives in three different assemblies, namely System.Runtime.dll, mscorlib.dll and also netstandard.dll.

Before, this class existed only in the assembly mscorlib.dll.

I guess this has to do with the existence of the .NET Core framework and also the .NET Standard specification, but am unsure about how these three assemblies differ and on which platforms they can be found respectively.

So if my guessing is right, the question is: which assembly belongs to which Framework (.NET, .NET Core, .NET Standard) ?

like image 928
Angle.Bracket Avatar asked Sep 11 '18 11:09

Angle.Bracket


1 Answers

You are right it is due to the existence of .NET Core and .NET Standard. Normally you don't have to take care on which one you should reference. It is automatically done when you create a .NET project (mscorlib.dll), a .NET Core project (System.Runtime.dll) or a .NET Standard project (netstandard.dll).

like image 51
Sébastien Krejci Avatar answered Oct 25 '22 04:10

Sébastien Krejci