編譯它時,如何不將stdlib(mscorlib.dll)包含到我的C#應用程序中?據我所知,所有的類都繼承了mscorlib.dll中定義的System.Object類。更重要的是,類型如int只是別名,例如爲System.Int32,這也是在mscorlib中定義的。這個選項曾經被使用過嗎?C#編譯器:/ nostdlib選項
6
A
回答
9
是的,它被任何編譯程序的人使用,該程序不與桌面版本的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...
2
0
從MSDN - 「如果要定義或創建自己的系統名稱空間和對象,請使用此選項。」。公平 - 我不會很快這麼做,那麼'。 :)
+0
我會)http://lightnet.codeplex.com/ – 2010-09-15 10:14:17
1
你也可以,如果你想建立部署針對較舊版本的框架使用它。 Visual Studio(15,無論如何)在構建您配置爲定位較舊的框架版本的項目時使用此選項。它不使用標準的mscore,而是使用來自Reference Assemblies/Microsoft/Framework/vx.y的一個。
相關問題
- 1. Visual C# - 編譯器選項
- 2. AndroidStudio C++編譯器選項
- 3. C#項目的編譯器選項
- 4. C++ VS2010編譯選項
- 5. erlIDE編譯器選項
- 6. JIT編譯器 - 編譯器選擇選項
- 7. C#編輯器和編譯器首選項
- 8. XCode4不顯示「C/C++編譯器版本」選項
- 9. 傑克編譯器似乎忽略編碼編譯選項
- 10. 使用/ clr選項編譯C代碼
- 11. MonoDevelop編譯選項
- 12. Z3編譯選項
- 13. 用C++編譯器編譯c代碼
- 14. gcc -nostdlib和mudflap
- 15. java編譯器選項,即javac -d
- 16. 的Visual Studio編譯器配置選項
- 17. Gnu Fortran編譯器寫入選項
- 18. gcc與complex.h的編譯器選項
- 19. CMAKE選項-DXXX編譯器參數
- 20. Codedom編譯器圖標選項錯誤
- 21. Gcc編譯器命令和選項
- 22. 試圖通過suppressExcessPropertyErrors編譯器選項
- 23. Typescript編譯器選項alwaysStrict不可用?
- 24. Visual Studio 2010編譯器選項
- 25. 未知的編譯器選項 'noStrictGenericChecks'
- 26. Eclipse C++:爲特定文件設置編譯器選項
- 27. 暫時將C++ Projects(VS2015)移至Android OS ....編譯器選項?
- 28. 轉儲類層次結構的Visual C++編譯器選項
- 29. C#:顯式聲明「不安全」/編譯器選項的好處
- 30. Visual C++ 9編譯器選項使程序運行更快
它仍然不清楚。是否可以使用我自己的System.Object版本?我不認爲CLR會允許這樣做。 System.Object和System.ValueType都是特殊的類,它們也指出我的變量是引用類型還是值類型。 – 2010-08-01 18:10:39
@MarcAndreson:據我所知,'/ nostdlib'編譯器切換不一定會導致CLR(.NET Framework)可以執行的程序集。但是它產生了一個有效的程序集,可以在不同的CLI兼容平臺(如Mono,Silverlight或您自己的平臺)上執行。鑑於此功能,您可以爲任何這些平臺提供一個C#編譯器。如果每個Platorm的C#編譯器總是無條件地將你的代碼綁定到它自己的'mscorlib.dll'上,那麼你需要每個平臺上的一個編譯器。因此'/ nostdlib'(理論上)使得編譯器可以跨平臺重用。 – stakx 2017-04-24 20:03:27