¿Puedo escribir programas en C # en Ubuntu?

34

Me veo obligado a aprender y practicar C #, ¿hay alguna aplicación que admita y pueda usarse para escribir programas en C #?

AmirRazoR
fuente
10
Que has intentado El uso de una simple combinación de palabras clave de Google C# Ubunturevela la respuesta ya.
gertvdijk
bien, votaré para eliminar esta pregunta
AmirRazoR
3
Solo por experiencia aquí, es probable que su curso universitario suponga que está en Windows, y probablemente usará varias características de Windows solo en C # que no siempre se correlacionan muy bien con mono, como winforms (aunque creo que mono puede haber implementado winforms desde entonces, pero no estoy seguro). Puede encontrarse con problemas.
Drake Clarris
bueno, desde el día que comencé a usar ubuntu no fui a Windows ni una sola vez. pero tendré este consejo en mente.
AmirRazoR
3
@AmirRazoR El tiempo de ejecución mono admite Windows Forms. Sin embargo, no conozco ningún entorno de desarrollo integrado en Ubuntu que admita su creación visual. Si su clase está en el lenguaje C #, supongo que no cubrirá Windows Forms, pero podría. Si encuentra que debe usar un sistema operativo Windows, puede considerar ejecutar Windows en una máquina virtual en un sistema Ubuntu. Sin embargo, la virtualización de Windows requiere que tenga una copia. (O, si necesita una mejor aceleración de gráficos que una máquina virtual, podría ejecutar Ubuntu en una máquina virtual en Windows).
Eliah Kagan

Respuestas:

36

Sí, puedes usar mono

Para que un buen IDE funcione en prueba monodevelop

sudo apt-get install monodevelop

Esto también atraerá todos los tiempos de ejecución necesarios.

0x7c0
fuente
26

Lo que está buscando es Mono , que es, citando el sitio web del proyecto :

Una implementación de código abierto, multiplataforma, de C # y el CLR que es binario compatible con Microsoft.NET

Mono también viene con un entorno de desarrollo integrado (IDE): MonoDevelop . Ambos softwares están empaquetados para Ubuntu.

Mono

Instalar a través del centro de software

MonoDevelop

Instalar a través del centro de software

Este último paquete depende del primero. Instalar este paquete instalará automáticamente el otro.

Andrea Corbellini
fuente
Estoy instalando Monodevelop en este momento, ¿esto también instalaría Mono, o debería ejecutar un comando específico para instalarlo?
AmirRazoR
@AmirRazoR: sí, instalaría Mono. También actualicé mi respuesta para agregar esta información.
Andrea Corbellini
4

Puede desarrollar aplicaciones C # en Linux con .NET Core: https://www.microsoft.com/net/core

Después de instalarlo, escriba dotnet new en su terminal para obtener una lista de plantillas de aplicaciones que se pueden generar para que pueda comenzar.

A partir de .NET Core 2.0 hoy, esta es la lista:

Templates                                         Short Name       Language          Tags               
--------------------------------------------------------------------------------------------------------
Console Application                               console          [C#], F#, VB      Common/Console     
Class library                                     classlib         [C#], F#, VB      Common/Library     
Unit Test Project                                 mstest           [C#], F#, VB      Test/MSTest        
xUnit Test Project                                xunit            [C#], F#, VB      Test/xUnit         
ASP.NET Core Empty                                web              [C#], F#          Web/Empty          
ASP.NET Core Web App (Model-View-Controller)      mvc              [C#], F#          Web/MVC            
ASP.NET Core Web App                              razor            [C#]              Web/MVC/Razor Pages
ASP.NET Core with Angular                         angular          [C#]              Web/MVC/SPA        
ASP.NET Core with React.js                        react            [C#]              Web/MVC/SPA        
ASP.NET Core with React.js and Redux              reactredux       [C#]              Web/MVC/SPA        
ASP.NET Core Web API                              webapi           [C#], F#          Web/WebAPI         
global.json file                                  globaljson                         Config             
Nuget Config                                      nugetconfig                        Config             
Web Config                                        webconfig                          Config             
Solution File                                     sln                                Solution           
Razor Page                                        page                               Web/ASP.NET        
MVC ViewImports                                   viewimports                        Web/ASP.NET        
MVC ViewStart                                     viewstart                          Web/ASP.NET        

La última versión actual es 2.0 y cubre todas mis necesidades.

Tadej
fuente
Me gusta que esta respuesta parece ser independiente del IDE, pero tengo curiosidad sobre qué tipo de programas se sentirían cómodos trabajando con los proyectos generados por estos comandos. No vi soporte para páginas Razor en MonoDevelop, por ejemplo. Y VSCode todavía me parece torpe con su enfoque modular muy estricto para complementos y compiladores.
anon58192932
Rider parece prometedor: jetbrains.com/rider pero aún no lo he probado. Mientras tanto, volví a Windows, porque me faltaban demasiadas funciones en Linux. Soy un desarrollador de C #. Y Visual Studio simplemente hace que el desarrollo sea mucho más fácil. Estuve usando Sublime Text por algún tiempo en Linux.
Tadej