Programar en C# en linux

Iniciado por pwnz, 24 Mayo 2015, 01:43 AM

0 Miembros y 1 Visitante están viendo este tema.

pwnz

El otro dia lei una noticia que decia que la plataforma .NET es ahora opensource y MS libero su codigo aqui https://github.com/dotnet/

Programe una vez algo sencillo en c# en windows y me gusto bastante ya que se parecia bastante a java.

Ahora al liberarlo para mas plataformas me anime a probarlo aunque he decir que me encuentro un poco perdido, lo mas que conseguir fue compilar coreclr y correr un HelloWorld.

Esperaba que fuese algo mas como java, que instalas la maquina virtual y eclipse, en linux parece algo mas complicado, encima apenas hay informacion sobre .net en linux aparte de la del repo git y esta en ingles >:D Alguien que ya programe en C# .net desde linux me guia un poco ? 

saludos.

DarK_FirefoX

Te recomiendo que le heches un vistaso a MonoDevelop, es un IDE libre diseñado primordialmente para C# y otros lenguajes de .NET. Es multiplataforma, por lo que puedes utilizarlo tanto en Windows, Linux o MacOS.

Espero que esto sea lo que estás buscando.

Salu2s

pwnz

Cita de: DarK_FirefoX en 24 Mayo 2015, 02:26 AM
Te recomiendo que le heches un vistaso a MonoDevelop, es un IDE libre diseñado primordialmente para C# y otros lenguajes de .NET. Es multiplataforma, por lo que puedes utilizarlo tanto en Windows, Linux o MacOS.

Espero que esto sea lo que estás buscando.

Salu2s

Lo que pasa es que MonoDevelop al compilar los ejecutables que me genera no funcionan al correrlos con el coreclr de Microsoft.

Por ejemplo este hello world

Código (csharp) [Seleccionar]

using System;
public class Program
{
    public static void Main(string[] args)
    {
    Console.WriteLine("Hello, World!");
        Console.ReadLine();
    }
}


Si lo compilo a mano asi:

Código (bash) [Seleccionar]
mcs /nostdlib /noconfig /r:../packages/System.Console.4.0.0-beta-22703/lib/contract/System.Console.dll /r:../packages/System.Runtime.4.0.20-beta-22703/lib/contract/System.Runtime.dll HelloWorld.cs

Me crea un HelloWorld.exe que funciona perfectamente tanto con el coreclr de MS como con Mono, es decir:
Código (bash) [Seleccionar]
corerun HelloWorld.exe // MS
mono HelloWorld.exe // Mono

Ambos funcionan.

Sin embarlo ese mismo programa compilado por MonoDevelop solo funciona con mono y no con corerun  >:D
Me salta este error al intentar correrlo:

Código (bash) [Seleccionar]
Unhandled Exception: System.BadImageFormatException: Could not load file or assembly '/home/test/Documentos/workspace/mono/HelloWorld/bin/Debug/HelloWorld.exe' or one of its dependencies. Error 11

Creo que tendre que resignarme a programar desde Visual Studio en windows ya que lo unico que se puede hacer por ahora en linux sin complicarse la vida es correr codigo  :-[

fran800m

¿Puedes especificar si quieres compilar en x86, AnyCpu o x64?
Por dar ideas, no sé si funcionará ....