¿Cómo es posible no incluir stdlib (mscorlib.dll) en mi aplicación C# al compilarlo? Hasta donde yo sé, todas las clases heredan la clase System.Object, que se define en mscorlib.dll. Además, los tipos como int son solo alias, p. para System.Int32, que también se definen en mscorlib. ¿Se usa esta opción alguna vez?compilador C#:/nostdlib opción
Respuesta
Sí, es utilizado por cualquier persona que compila un programa que no se ejecuta con la versión de escritorio del CLR. Al igual que Silverlight, apunta a .NETCore o Micro Framework. Tienen su propio mscorlib.dll, por supuesto con System.Object definido.
Aquí está la línea de comandos del compilador de un proyecto de ejemplo 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...
De acuerdo con la documentación
http://msdn.microsoft.com/en-us/library/fa13yay7(VS.80).aspx
que lo utilice si está tratando de reemplazar las clases del sistema.
De MSDN - "Utilice esta opción si quiere definir o crear su propio espacio de nombres y objetos del sistema.". De acuerdo, no lo haré en el corto plazo, aunque. :)
Lo haré) http://lightnet.codeplex.com/ –
También puede utilizarlo si usted quiere construir para desplegar frente a una versión más antigua marco. Visual Studio (15, de todos modos) utiliza esta opción cuando crea un proyecto que configuró para dirigirse a una versión de marco anterior. En lugar de utilizar el mscore estándar, utiliza uno de los ensamblados de referencia/Microsoft/Framework/vx.y
- 1. C#: Ventaja de indicar explícitamente la opción "insegura"/compilador
- 2. ¿Por qué necesita una opción explícita compilador `-lm`
- 3. Agregar la opción del compilador sin editar Makefile
- 4. ¿Cómo se puede anexar una opción del compilador Scala a scalacOptions en sbt?
- 5. La opción -g de g ++ es equivalente al compilador VS2010 cl?
- 6. ¿Hay una opción de configuración con ventana para el compilador Go?
- 7. ¿existe una opción de compilador/enlazador GCC para cambiar el nombre de main?
- 8. Compilador .NET - DEBUG vs. RELEASE
- 9. Detecta el compilador con #ifdef
- 10. Código abierto compilador/convertidor C++ a C#
- 11. gcc-opción de límite de pila imprevista
- 12. Scala: ¿Puedo convertir una Opción en varargs?
- 13. Casos de prueba del compilador o cómo probar un compilador
- 14. Opción SSE2 en Visual C++ (x64)
- 15. ¿Qué hace la opción clang -cc1?
- 16. Qué es la opción en la opción del CCG "-Wl, OPCIÓN"
- 17. JAXB Compilador y orden de atributo
- 18. Conversión Opción [T] a Opción [U] en Scala
- 19. Compilador CUDA (nvcc) macro
- 20. Compilador/intérprete de Java
- 21. Destino del mejor compilador
- 22. compilador de C# Directivas
- 23. compilador de Delphi gratuito
- 24. C al compilador brainfuck?
- 25. compilador Lisp diseño
- 26. compilador C desde dónde?
- 27. multiplataforma C++ compilador cruzado
- 28. compilador PIC16 C
- 29. ¿El compilador optimizará esto?
- 30. compilador de Java remoto
Todavía no está claro para mí. ¿Es aceptable mi propia versión de System.Object? No creo que CLR lo permita. Both System.Object y System.ValueType son clases especiales que también indican si mi variable es de tipo de referencia o de valor. –
@MarcAndreson: Según entiendo, el compilador del compilador '/ nostdlib' no necesariamente dará como resultado un ensamblado que el CLR (.NET Framework) puede ejecutar. Pero produce un ensamblaje válido que bien podría ser ejecutable en una plataforma compatible con CLI diferente (como Mono, Silverlight o la suya). Dada esta característica, puede tener un compilador de C# para cualquiera de estas plataformas. Si el compilador de C# de cada platinm siempre atara incondicionalmente su código específicamente a su propio 'mscorlib.dll', necesitaría un compilador por plataforma. Entonces '/ nostdlib' (en teoría) hace que el compilador sea reutilizable en todas las plataformas. – stakx