¿Cuáles son las mejores prácticas para escribir código que se puede compilar de forma cruzada en .NET (Windows) y Mono (linux)? Aunque estoy muy familiarizado con .NET, no soy tan experimentado en Mono y todos sus problemas. ¿Alguien ha visto una buena publicación de blog o documento de mejores prácticas sobre esto, que no he podido desenterrar? Me quedaría con las características del nivel C# 3.0.Mejores prácticas para la compilación cruzada .NET/MONO
Lo primero que me preocupa es Interop, ya que necesitaría llamar a algún código nativo. Siguiente sería la mejor manera de manejar espacios de nombres como Mono.XXX. ¿Debo usar un montón de #if? ¿Aislar el código en ensambles por plataforma?
¡Cualquier sugerencia con respecto a la arquitectura y el diseño sería muy apreciada! Si ha tenido alguna experiencia en la compilación cruzada para Linux/Mono en Visual Studio (cualquier versión), también estaría interesado en eso.
La compilación cruzada es la frase incorrecta, la compila una vez y luego la usa en ambas plataformas. – trampster
No creo que sea correcto, dado que Mono tiene una cantidad de espacios de nombres Mono. *, Etc. ¿Quizás en un mundo perfecto? –
Bueno, hice una aplicación WinForms sin ningún P/Invoke (suena fácil pero es difícil evitar P/Invoke) y funcionó perfectamente bien en Linux, el mismo.el ensamblado exe VS2010 produjo, e incluso tuvo el uso de nuevas características de .NET 4. –