c# .net

c# - ¿Qué significa mscorlib?



.net (4)

Esta pregunta ya tiene una respuesta aquí:

mscorlib es definitivamente una de las bibliotecas de clase base .net y cada programa en C # depende de ello, pero ¿qué significa?

En el estándar ECMA para la Especificación del lenguaje C #, la palabra se menciona 4 veces y ninguna de ellas se refiere a lo que significa.


Lo que representa

Biblioteca de Common Object Runtime de Microsoft

y es el ensamblaje principal de la Biblioteca común de Framework.

Contiene los siguientes espacios de nombres:

System System.Collections System.Configuration.Assemblies System.Diagnostics System.Diagnostics.SymbolStore System.Globalization System.IO System.IO.IsolatedStorage System.Reflection System.Reflection.Emit System.Resources System.Runtime.CompilerServices System.Runtime.InteropServices System.Runtime.InteropServices.Expando System.Runtime.Remoting System.Runtime.Remoting.Activation System.Runtime.Remoting.Channels System.Runtime.Remoting.Contexts System.Runtime.Remoting.Lifetime System.Runtime.Remoting.Messaging System.Runtime.Remoting.Metadata System.Runtime.Remoting.Metadata.W3cXsd2001 System.Runtime.Remoting.Proxies System.Runtime.Remoting.Services System.Runtime.Serialization System.Runtime.Serialization.Formatters System.Runtime.Serialization.Formatters.Binary System.Security System.Security.Cryptography System.Security.Cryptography.X509Certificates System.Security.Permissions System.Security.Policy System.Security.Principal System.Text System.Threading Microsoft.Win32

Información interesante sobre MSCorlib:

  • El ensamblado de .NET 2.0 hará referencia y usará 2.0 mscorlib .NET 1.1 ensamblado de .NET 1.1 hará referencia a 1.1 mscorlib pero usará 2.0 mscorlib en tiempo de ejecución (debido a los redireccionamientos de versiones codificadas en tiempo de ejecución en sí)
  • En GAC solo hay una versión de mscorlib, no encontrará la versión 1.1 en GAC, incluso si tiene 1.1 framework instalado en su máquina. Sería bueno si alguien puede explicar por qué MSCorlib 2.0 solo está en GAC, mientras que la versión 1.x vive en la carpeta de framework
  • ¿Es posible forzar un tiempo de ejecución diferente para ser cargado por la aplicación haciendo una configuración de configuración en su aplicación / web.config? no podrá elegir la versión de CLR por configuración en ConfigurationFile; en ese punto, ya se estará ejecutando un CLR, y solo puede haber uno por proceso. Inmediatamente después de elegir el CLR, se carga el MSCorlib apropiado para ese CLR.

Microsoft Core Library, es decir, están en el corazón de todo.

Hay una explicación más "masajeada" que quizás prefiera:

"Cuando Microsoft comenzó a trabajar en .NET Framework, MSCorLib.dll era un acrónimo de Microsoft Common Object Runtime Library. Una vez que ECMA comenzó a estandarizar el CLR y partes de la FCL, MSCorLib.dll se convirtió oficialmente en el acrónimo de Common Common Common Multilenguage Biblioteca de ejecución."

De http://weblogs.asp.net/mreynolds/archive/2004/01/31/65551.aspx

Alrededor de 1999, para mi memoria personal, .Net era conocido como "COOL", así que estoy un poco desconfiado de esta derivación. Nunca lo escuché llamar "COR", que es un nombre tonto para un hablante nativo de inglés.


mscorlib significa "Biblioteca de tiempo de ejecución de objetos comunes de Microsoft"