mscorlib代表什么?

Ram*_*rez 71 .net c#

mscorlib绝对是.net基类库之一,C#中的每个程序都依赖它,但它代表什么?

在ECMA的C#语言规范标准中,这个词被提到了4次,并没有提到它的含义.

Mar*_*ade 69

中号 ICRO 小号经常Ç ommon ö bject ř不定时郭宝宏.

请参阅http://www.danielmoth.com/Blog/mscorlibdll.aspx'Cor'代表什么?

  • 实际上,"ms"现在代表"多语言标准",因为某些东西 - 政治问题 (5认同)
  • 几乎.这是**M**ulti-language**S**tandard**C**ommon**O**bject**R**untime**L**ibrary参见:C#6.0 in a Nutshell - The Definitive参考(第199页) (4认同)
  • 它成为ECMA标准,因此无法以标准化委员会的单个成员命名。 (3认同)

Bry*_*yan 41

Microsoft Core Library,即它们是一切的核心.

您可能更喜欢更"按摩"的解释:

"当Microsoft首次开始使用.NET Framework时,MSCorLib.dll是Microsoft Common Object Runtime Library的缩写.一旦ECMA开始标准化CLR和部分FCL,MSCorLib.dll正式成为Multilanguage标准公共对象的首字母缩写运行时库."

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

在1999年左右,据我个人记忆,.Net被称为"COOL",所以我对这种推导有点怀疑.我从未听过它叫做"COR",这对于母语为英语的人来说是一个愚蠢的名字.

  • 关于COOL的澄清 - 它代表"类C面向对象语言",是C#的工作名称(不是.NET框架); 由于商标原因,他们无法使用名称COOL,因此更改为"C#". (4认同)
  • 我实际上认为这应该是公认的答案,因为它不仅是首先发布的,它也是最正确的.微软重新命名为mscorlib,因此"ms"现在代表"多语言标准"而不是"微软".除了原始名称之外,这是实际提供正确当前名称的唯一答案.有关更官方的消息,请参阅http://www.microsoft.com/mspress/books/index/5353a.aspx,其中显示Microsoft Press出版的一本书早在2002年就将其作为官方名称. (2认同)
  • "我从未听过它叫做"COR",这对于母语为英语的人来说是一个愚蠢的名字." - 你在这说什么?COR代表公共对象运行时对我来说似乎是合理的, (2认同)

One*_*rew 34

它代表

Microsoft的Common Object Runtime Library

它是Framework Common Library的主要程序集.

它包含以下命名空间:

 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 
Run Code Online (Sandbox Code Playgroud)

有关MSCorlib的有趣信息:

  • .NET 2.0程序集将引用并使用2.0 mscorlib. .NET 1.1程序集将引用1.1 mscorlib但将在运行时使用2.0 mscorlib(由于在theruntime本身中的硬编码版本重定向)
  • 在GAC中只有一个版本的mscorlib,即使你的机器上安装了1.1框架,你也不会在GAC上找到1.1版本.如果有人可以解释为什么MSCorlib 2.0 单独使用GAC而1.x版本存在于框架文件夹中,这将是一件好事
  • 是否可以通过在app/web.config中进行配置设置来强制应用程序加载不同的运行时?您将无法通过ConfigurationFile中的设置选择CLR版本 - 此时,CLR已经在运行,并且每个进程只能有一个.在选择CLR之后,立即加载适合于该CLR的MSCorlib.

  • "它包含以下命名空间" - 这在很大程度上取决于您使用的版本(即哪个目标平台).完全没有*要求*. (8认同)