2011-07-14 21 views
7

He oído hablar de mono para el desarrollo de aplicaciones .Net multiplataforma, pero ¿por qué el propio Marco .Net incluyen la compilación condicional, por ejemplo¿Cuándo se ejecuta .Net en UNIX?

#if PLATFORM_UNIX 
... 
#endif // PLATFORM_UNIX 

como puede verse en la fuente de referencia para el sistema de .Net Framework. IO.Path

+0

¿Está pensando en el futuro? –

+0

¿Quizás Microsoft había considerado un puerto de Unix en algún momento pero nunca lo completó? Esto es algo que probablemente nadie que no esté bajo NDA pueda responder definitivamente ... – bdonlan

Respuesta

5

Esto es para el SSCLI, que utiliza gran parte de la misma base de código y se puede ejecutar en UNIX

+0

Gracias, "Microsoft proporciona la CLI de fuente compartida como una implementación de CLI de referencia adecuada para uso educativo" No sabía que esa era la "Fuente de referencia". – Grokodile

+0

@panamack: SSCLI y la referencia .Net son dos cosas diferentes. – SLaks

+0

ah vale, salté el arma. – Grokodile

5

voy a tomar una conjetura salvaje e ir con lo que está viendo es reliquias del rotor, la implementación FreeBSD de .NET desde hace mucho tiempo.

IIRC Rotor estaba relacionado de alguna manera con el esfuerzo de conversión de Hotmail cuando MS compró esa compañía.

+0

del enlace de SLaks "La infraestructura de lenguaje común de fuente compartida (SSCLI), previamente con nombre de código Rotor," así que +1 buena memoria :) – Grokodile

0

A partir del código fuente de SSCLI, podemos deducir que CLR es muy fácil de admitir en otras plataformas si MS lo desea.

Cuestiones relacionadas