ti-enxame.com

Mscorlib de quê?

o mscorlib é definitivamente uma das bibliotecas de classes base do .net e cada programa em C # depende disso, mas o que ele representa?

No padrão ECMA para C # Language Specification , o Word é mencionado 4 vezes e nenhum deles se refere ao que isso significa.

67
Ramón García-Pérez

M icro s oft C ommon O bject R untime Lib rary.

Veja http://www.danielmoth.com/Blog/mscorlibdll.aspx e O que significa 'Cor'?

67
Mark Cidade

Microsoft Core Library, ou seja, eles estão no coração de tudo.

Existe uma explicação mais "massageada" que você pode preferir:

"Quando a Microsoft começou a trabalhar no .NET Framework, o MSCorLib.dll era um acrônimo para Microsoft Common Object Runtime Library. Uma vez que o ECMA começou a padronizar o CLR e partes do FCL, o MSCorLib.dll tornou-se oficialmente o acrônimo para Multilanguage Standard Common Object. Biblioteca de Tempo de Execução. "

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

Por volta de 1999, para minha memória pessoal, o .Net era conhecido como "COOL", então eu sou um pouco desconfiado dessa derivação. Eu nunca ouvi isso chamado "COR", que é um nome bobo para um falante nativo de inglês.

39
Bryan

Ele significa

Biblioteca de Tempo de Execução de Objeto Comum da Microsoft

e é o Assembly principal da Biblioteca Comum do Framework.

Ele contém os seguintes namespaces:

 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 

Informação interessante sobre o MSCorlib:

  • O .NET 2.0 Assembly fará referência e usará o mscorlib 2.0. O assembly .NET 1.1 fará referência ao 1.1 mscorlib, mas usará o mscorlib 2.0 em tempo de execução (devido a redirecionamentos de código embutidos no próprio tempo de execução)
  • No GAC há apenas uma versão do mscorlib, você não encontra a versão 1.1 no GAC, mesmo se tiver o 1.1 framework instalado em sua máquina. Seria bom se alguém pudesse explicar porque o MSCorlib 2.0 sozinho está no GAC, enquanto a versão 1.x mora dentro da pasta do framework
  • É possível forçar um tempo de execução diferente para ser carregado pelo aplicativo, fazendo uma configuração no seu app/web.config? você não poderá escolher a versão do CLR por configurações no ConfigurationFile - nesse momento, um CLR já estará em execução e só pode haver um por processo. Imediatamente após o CLR ser escolhido, o MSCorlib apropriado para esse CLR é carregado.
32
One Man Crew