Compilar y ejecutar C# desde Sublime Text
Todo lo referente a la creación de un nuevo Build System en Sublime Text está explicado detalladamente en la entreda Compilar y ejecutar JAVA desde Sublime Text, así que si tienes alguna duda, pásate por esta entrada ya que la única diferencia entre la presente y la realizada para Java es el contenido del archivo .sublime-build que simplemente es copiar y pegar.
De este modo el contenido del archivo .sublime-build que debemos crear será el siguiente:
Ten en cuenta que según la version del .NET Framework instalada en Windows, la ruta puede variar, y la carpeta llamada v4.0.30319 se puede llamar v3.5 o v3.0, comprueba la dirección del compilador csc.exe antes de probar el Build System.
Guardamos en la carpeta que nos pone por defecto con un nombre descriptivo como por ejemplo "ejecutarC#.sublime-build" y listo. Cuando creemos nuestros programas en C# tan solo debes hacer click en Tools -> Build Systems -> ejecutarC#.
De este modo cuando tengamos nuestro programita en C# listo, al pulsar Ctrl + B o simplemente haces click en Tools -> Build, se compilará nuestro archivo .cs creando un .exe con su mismo nombre, y se ejecutará directamente mostrando el resultado en la consola de Sublime Text, como por ejemplo el siguiente código.
De este modo el contenido del archivo .sublime-build que debemos crear será el siguiente:
//Codigo para Windows { "cmd": ["%WINDIR%\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe /utf8output /nologo", "$file_name", "&&", "$file_base_name.exe"], "shell": true }
//Codigo para Linux (compilador mono-mcs) { "cmd": ["mcs -out:${file_base_name} ${file_name} && chmod 764 ${file_base_name} && ./${file_base_name}"], "shell": true }NOTA
Ten en cuenta que según la version del .NET Framework instalada en Windows, la ruta puede variar, y la carpeta llamada v4.0.30319 se puede llamar v3.5 o v3.0, comprueba la dirección del compilador csc.exe antes de probar el Build System.
Guardamos en la carpeta que nos pone por defecto con un nombre descriptivo como por ejemplo "ejecutarC#.sublime-build" y listo. Cuando creemos nuestros programas en C# tan solo debes hacer click en Tools -> Build Systems -> ejecutarC#.
De este modo cuando tengamos nuestro programita en C# listo, al pulsar Ctrl + B o simplemente haces click en Tools -> Build, se compilará nuestro archivo .cs creando un .exe con su mismo nombre, y se ejecutará directamente mostrando el resultado en la consola de Sublime Text, como por ejemplo el siguiente código.
using System; namespace Saludos { public class HolaMundo { static void Main(string[] args) { Console.WriteLine("Hola mundo!"); } } }Dará como resultado:
Saludos, cuando le doy build muestra Building y no lo ejecuta, al presional Ctrl+ñ muestra: Traceback (most recent call last):
ResponderEliminarFile ".\sublime_plugin.py", line 337, in run_
File ".\exec.py", line 155, in run
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in position 105: ordinal not in range(128)
Anteriormente había hecho lo de ejecutar en cmd.exe desde sublime text y compile y ejecute java y c++.
Mi archivo lo nombre runC#.sublime-build
Me puedes ayudar?
Es extraño, a mi me compila y ejecuta en el cmd.exe tanto c++, c# y java.
EliminarLo único que se me ocurre es que revises bien el "runC#.sublime-build" y compruebes la ruta del csc.exe en tu equipo.
Sigue esta ruta, ya que el problema puede estar en la carpeta \v4.0.30319, que tengas una versión anterior del .NET Framework.
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\csc.exe
%WINDIR% = C:\Windows\
Ya funco algo, no sé que estaba haciendo mal en fin, gracias, ya puedo compilar y ejecutar C, C++, C# y Java en el Sublime Text 2, gracias...
ResponderEliminarHola, tu pagina me parece muy interesante, estoy empezando a trabajar con Python y Ruby a traves de la Code Academy, estoy en cero en algunas cosas, ¿Cómo debo proceder para compilar y correr Ruby y Python en el Sublime Text?
ResponderEliminarPues según tengo entendido tanto Python como Ruby son lenguajes interpretados, es decir, para ejecutarlos tan solo necesitas instalar el interprete que se suele descargar desde la página web del lenguaje. Además Sublime Text tiene compatibilidad con ambos, así que que solo debes instalar Python o Ruby y en cuanto generes tu archivo de programación, podrás ejecutarlo directamente presionando Ctrl + b.
EliminarSaludos.
Hola, puedo ejecutar programas en sublime sin embargo si el programa necesita datos de teclado no me sirve ya que no me deja escribir nada y termina el programa (el programa ya esta probado que funciona en netbeans)...
ResponderEliminarPues eso tiene fácil solución, lo único que tienes que hacer es, según el sistema operativo que uses, es seguir estas entradas, las cuales si todo sale bien, tus programas se ejecutarán en el cmd en windows o el terminal en linux, en ambos casos podrás leer datos del teclado.
EliminarEl problema es de la consola de sublime que no puede recoger datos.
Si usas windows:
http://ayudasprogramacionweb.blogspot.com.es/2012/12/ejecutar-en-cmdexe-desde-sublime-text.html
Si usas linux:
http://ayudasprogramacionweb.blogspot.com.es/2013/01/ejecutar-en-terminal-linux-sublime-text.html
Saludos, espero serte de ayuda.
¿En Sublime Text 3 es igual? No me compila, cuando voy a crear uno nuevo me aparece
ResponderEliminar{
"shell_cmd": "make"
}
pudiste resolverlo? ami me sale igua
EliminarNo pasa nada. Alguno pudo compilar C# con Sublime 3?
EliminarEl sistema no puede encontrar la ruta especificada.
[Finished in 0.1s]
{
Eliminar"cmd": ["%WINDIR%\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe", "/utf8output", "/nologo", "$file_name", "&&", "$file_base_name.exe"],
"shell": true
}
Con esto para ST3 ,usa el hola mundo de la publicacion , guarda el archivo de hola mundo y luego build. (Windows 10).
También borren el
Eliminar{
"shell_cmd": "make"
}
antes de crear el archivo .sublime-build
Esta opción me funciono, al principio no me funcionaba en ST3 con WIN10, pero coloque lo que se indica, guardé y reinicié el equipo, de esa forma fué que me funcionó
Eliminarme manda el siguiente error
ResponderEliminarfatal error CS2007: Opción no reconocida: '/nologo" "'
[Finished in 0.2s with exit code 1]
La opción /nologo me funciona correctamente en la version .NET 4, sin embargo no es necesaria ya que lo único que hace es evitar que aparezca un mensaje de Microsoft al compilar. Así que puedes quitarla en el sublime-build y dejar solamente la opción /utf8output y listo, te debe de ir bien.
ResponderEliminarEste quedaría así:
//Codigo para Windows
{
"cmd": ["%WINDIR%\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe /utf8output", "$file_name", "&&", "$file_base_name.exe"],
"shell": true
}
Saludos!
Hola mira me sale ahora este error...
ResponderEliminarpara Microsoft (R) .NET Framework 4.5
(C) Microsoft Corporation. Reservados todos los derechos.
fatal error CS0009: No se puede abrir el archivo de metadatos 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Configuration.Install.dll' -- 'El archivo está dañado.'
[Finished in 0.3s with exit code 1]
Si tienes otra versión del .NET Framework, utiliza el compilador de esa misma versión que es el archivo csc.exe que habrá en la carpeta c:\Windows\Microsoft.NET\Framework\ y tu versión más actual, a ver si se resuelve tu problema.
EliminarSaludos.
buenas me da el siguiente error!
ResponderEliminarEl sistema no puede encontrar la ruta especificada.
[Finished in 0.0s with exit code 1]
[cmd: ['C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\csc.exe /utf8output /nologo', 'Nuevo documento de texto.cs', '&&', 'Nuevo documento de texto.exe']]
[dir: C:\Users\Carlos\Google Drive\programacion\codigos tutorial]
[path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static]
gracias por adelantado
Pues lo primero seria que tu archivo .cs, vamos el archivo con tu código en C# no tenga espacios en blanco, no se exactamente si puede ser motivo de fallo, pero es una buena práctica de programación y te puede ahorrar errores futuros, de modo que:
EliminarUsa un nombre para tu archivo de código C# como Main.cs o Programa.cs por ejemplo.
Lo siguiente es que compruebes donde esta tu archivo que se encargará de compilar el archivo de código C#, para ello abre la unidad C:\ que estará en "Mi pc" y ve recorriendo las carpetas que usaste en tu Sublime Build, es decir "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe", accede primero a la carpeta Windows, luego a la carpeta Microsoft.NET y así, deberias llegar al archivo csc.exe que es el que compilará tu archivo de C#.
Si no lo encuentras en la ruta esa, ahí esta el fallo, debes buscarlo sabiendo que si tienes instalado Microsoft.NET estará dentro de esa carpeta, puede ser que tengas otra versión o algo por el estilo (usa la búsqueda de Windows si no lo encuentras).
Cuando lo hagas, usa su ubicación en tu PC en el Sublime Build, NO OLVIDES PONER DOBLE \\ EN CADA CARPETA.
Por último si sigue sin ir, quita las opciones \nologo y si quieres también la \utf8output.
Con esto estoy seguro de que te debe funcionar bien.
Un saludo y mucha suerte.
como hago para ver esa consola donde muestra los resultados?
ResponderEliminarSi estás en Windows, busca el programa cmd y si por el contrario estás en linux busca terminal.
EliminarSaludos.
hola si nos puedes ayudar a actualizar sublime text 3 para poder utilizar cmd. de antemano muchas gracias y gracias por tu aporte ! :)
ResponderEliminarno me funciono solo para sublime text 2 :(
Eliminaralguien sabe como hacerlo con sublime text 3 lo hice como dicen pero no me compila nada de c#
ResponderEliminarme sale este mensaje en la variables se pone el nombre del archivo cs
ResponderEliminarEl sistema no puede encontrar la ruta especificada.
[Finished in 0.3s with exit code 1]
[cmd: ['%WINDIR%\\Microsoft.NET\\Framework64\\v4.0.30319\\csc.exe /utf8output /nologo', 'Main.cs', '&&', 'Main.exe']]
[dir: C:\Users\Mercedez\Desktop]
jajajaja me costo mucho q funcionara pero ya me salio les comparto el .sublime-build
ResponderEliminar{
"cmd": ["%WINDIR%\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe", "$file_name", "&&", "$file_base_name.exe"],
"shell": true
}
verifiquen una unica cosa que tengan esta ruta en su ordenador
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
segun el cmd %WINDIR% = C:\Windows\
si la tienen genial les funcionara sino tienen exclusivamente esta version v4.0.30319
solo pongan la que tengan y igual les correra solo esta q verifiquen q version tienen instalada en la ruta C:\Windows\Microsoft.NET\Framework\versionquetengan\csc.exe igual cambian el cmd del sublime si sq tienen otra version
prueben con un hola mundo seleccionando el build system q crearon del c# y compilan con control + b
class Saludos {
public static void Main() {
System.Console.WriteLine("Hola mundo");
}
}
Saludos.
Eh seguido tus pasos sin equivocarme o saltarme algo, pero aun no logro que me compile, ya que me manda esto :
ResponderEliminar-------------------------------------------------------------------------------------------------------------------------------------------------------------------
using System;
using System.Collection.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HolaMundo
{
class program
{
static void Main(string[] args)
{
Console.WriteLine("Hola Mundo");
}
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
[Finished in 0.0s with exit code 127]
[cmd: ['mcs -out:hola mundo hola mundo.cs && chmod 764 hola mundo && ./hola mundo']]
[dir: /root/Desktop]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
psdata: Uso Linux
{
ResponderEliminar"cmd": ["%WINDIR%\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe", "/utf8output", "/nologo", "$file_name", "&&", "$file_base_name.exe"],
"shell": true
}
Con esto para ST3 ,usa el hola mundo de la publicación , guarda el archivo de hola mundo y luego build. (Windows 10).
A mi me funcionó así...
Gracias por el tutorial, pero conseguí un error que como consecuencia no permite la compilación:
ResponderEliminaren la linea de tu codigo JSON:
´´´
"cmd": ["%WINDIR%\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe /utf8output /nologo", "$file_name", "&&", "$file_base_name.exe"]
´´´
Pusiste la del directorio y 2 flags en el mismo string, como consecuencia en la consola te mostrará directorio invalido. Se soluciona colocando la dirección del directorio y los flags por separado:
´´´
"cmd": ["%WINDIR%\\Microsoft.NET\\Framework\\v4.0.30319\\csc.exe", "/utf8output", "/nologo", "$file_name", "&&", "$file_base_name.exe"]
´´´
quiquarQterha Erica Estrada Download
ResponderEliminartuifrusynim