编译时,如何才能将stdlib(mscorlib.dll)包含到我的C#应用程序中?据我所知,所有类都继承System.Object类,该类在mscorlib.dll中定义。更重要的是 - 诸如int之类的类型只是别名,例如对于System.Int32,它也在mscorlib中定义。这个选项曾经使用过吗?
答案 0 :(得分:10)
是的,任何编译不与CLR桌面版本一起运行的程序的人都会使用它。与Silverlight一样,它的目标是.NETCore或Micro Framework。他们有自己的mscorlib.dll,当然定义了System.Object。
以下是Silverlight项目示例的编译器命令行:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702
/nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE;SILVERLIGHT
/reference:"c:\Program Files\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\mscorlib.dll"
etc...
答案 1 :(得分:3)
答案 2 :(得分:1)
如果要构建以针对较旧的框架版本进行部署,您可能还希望使用它。 Visual Studio(15,无论如何)在构建您配置为以较旧框架版本为目标的项目时使用此选项。它不使用标准mscore,而是使用Reference Assemblies / Microsoft / Framework / vx.y
中的一个答案 3 :(得分:0)
从MSDN - “如果要定义或创建自己的系统命名空间和对象,请使用此选项。”足够公平 - 我不会很快这么做,所以。 :)