编译时如何不将 stdlib (mscorlib.dll) 包含到我的 C# 应用程序中?据我所知,所有的类都继承了在 mscorlib.dll 中定义的 System.Object 类。更重要的是 - 诸如 int 之类的类型只是 System.Int32 的别名,它们也在 mscorlib 中定义。这个选项曾经使用过吗?
问问题
3095 次
4 回答
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...
于 2010-08-01T18:08:00.963 回答
3
于 2010-08-01T18:05:15.477 回答
1
如果您想构建以针对较旧的框架版本进行部署,您可能还想使用它。Visual Studio(无论如何是 15)在构建您配置为针对较旧框架版本的项目时使用此选项。它不使用标准 mscore,而是使用 Reference Assemblies/Microsoft/Framework/vx.y 中的一个
于 2016-01-19T16:32:19.987 回答
0
来自MSDN -“如果要定义或创建自己的系统命名空间和对象,请使用此选项。”。很公平 - 我不会很快这样做,虽然'。:)
于 2010-08-01T18:06:30.327 回答