Configurar Sharpdevelop 3.0 con Mono 2.2 en Windows

Bueno despues de estar lidiando un poco con el Sharpdevelop 3, ya que despues de haber instalado Mono, .NET 3.5 y Sharpdevelop, este no me reconocia en el panel de proyectos nuevos, los proyectos del tipo Mono, asi que buscando y buscando, la solucion:

  1. Asumo que ya debe tener instalados el .NET 3.5.
  2. Debemos descargar de la pagina oficial el Sharpdevelop, el instalador y los fuentes, desde aqui: Sharpdevelop SourceForge
  3. Instalamos Mono, lo podemos descargar desde: Mono Project
  4. Instalar el SharpDevelop.
  5. Despues de instalar, debemos abrir el archivo de los fuentes del SharpDevelop, alli encontraremos una carpeta llamada «Samples», debemos copiar esa carpeta en la ruta donde instalamos Sharpdevelop, en mi caso «C:Archivos de programaSharpDevelop3.0».
  6. Abrimos el Sharpdevelop –> Abrir –> Proyecto/Solucion
  7. Seleccionamos Dentro de la carpeta Samples que copiamos «C:Archivos de programaSharpDevelop3.0samplesMonoMono.AddIn.sln» le damos a abrir.
  8. #########APARTADO IMPORTANTE#############Sharpdevelop en su version posterior a la 2.0 implementa con este Addin, una clase llamada «MonoToolLocationHelper» esta clase es la encargada de buscar si Mono esta instalado en la PC, bien la version que nosotros hemos hemos instalado en este momento es Mono 2.2, esta version no se encuentra programada para su busqueda en esta clase. Despues de leer su codigo y de estudiar las Claves del resgitro a las que hace llamado para encontrar la ruta de instalacion de mono. He modificado la clase para asi poder usar la version Mono 2.2. Aqui la explicacion:
  9. Tenemos abierta la solucion, ahora abrimos la clase «TargetMonoFrameworkVersion» y la modificamos asi:

    using System;

    namespace Mono.Build.Tasks

    {

    public enum TargetMonoFrameworkVersion

    {

    Version11 = 0,

    Version20 = 1,

    Version22 = 2,

    VersionLatest = 1

    }

    }

    Como podran ver lo unico que hice fue agregar un elemento mas «Version22 = 2,» guardamos los cambios hechos en esta clase.

  10. Ahora Abrimos la clase «MonoToolLocationHelper», y modificamos su metodo:

    public static string GetPathToMonoFramework(TargetMonoFrameworkVersion version)

    {

    switch (version) {

    case TargetMonoFrameworkVersion.Version11:

    return GetPathToMonoFrameworkVersion11();

    case TargetMonoFrameworkVersion.Version20:

    return GetPathToMonoFrameworkVersion20();

    case TargetMonoFrameworkVersion.Version22:

    return GetPathToMonoFrameworkVersion22();

    }

    return null;

    }

    Como veran he agregado el retorno «return GetPathToMonoFrameworkVersion22();»

    En esa misma clase creamos el metodo:

    static string GetPathToMonoFrameworkVersion22()

    {

    if (monoFrameworkVersion20Path == null) {

    monoFrameworkVersion20Path = GetPathToMonoFramework(@»mono2.2″);

    }

    return monoFrameworkVersion20Path;

    }

    Listo con estas modificaciones ya podra reconocer la version de MONO 2.2

  11. Click en el menu «Generar» –> «Generar Solucion». En este paso lo que se hace, es generar la solucion, y crear unos archivos necesarios para que  Sharpdevelopueda usar a mono como framework, esto es automatico.
  12. Reiniciamos Sharpdevelop y listo, Aparecera Ahora en el Listado asi:
  13. Image Hosted by ImageShack.us
  14. Ahora hay algunas cositas que tenemos que Arreglar, porque sino nos daran problemas.
  15. Debemos crear variables de entorno_

    La solución es agregar una variable de entorno (de sistema) a Windows llamada “MONO_EXTERNAL_ENCODINGS” y con el valor “default_locale” (sin comillas).

    Para establecer la variable de entorno no utilice el comando SET, en vez de eso, realice la operacion usando la interfaz grafica haciendo click derecho en el icono de Mi PC->Propiedades.

    Ejemplo:snag-0005

    Lo siguiente es anexar a la variable PATH la ruta de instalacion de los binarios de Mono Runtime. Recuerden colocarle un punto -y- coma(;) al final del valor actual de la variable si antes no lo tenia y anexen la ruta a la carpeta “bin” de la instalacion de mono, para mi caso es “C:ARCHIV~1Mono-2.2bin;”. YO lo he agregado con el Nombre de 8 Bits de DOS, pero pueden ponerlo normal.

    Ejemplo:aaa

  16. Otra cosa que debemos hacer, es cambiar la ruta de Acceso a archivos Temporales, que por defecto en windows es «C:Documents and Settingusuario….Temp», bueno pues esta ruta Contiene la palabra «Configuración» con tilde y es por eso que Sharpdevelop no podra acceder a ella, es por ello que debemos cambiar las VARIABLES DE ENTORNO llamada «TEMP» y «TMP», por una mas directo ejemplo «C:TEMP». quedara algo asi:snag-0003
  17. Con esto Ya podemos empezar a programar en la Plataforma MONO y con n IDE libre y lo mejor en este caso OPEN SOURCE, ¿sino lo fuera como hubiesemos podido adaptarlo a la version 2.2??
  18. Espero sea de su utilidad. Una Captura.
  19. snag-0004Ahora si a dormir, ya son casi las 5:00 am.
  20. Links que sirvieron de base para este post: