Soy bastante nuevo en C# y estoy tratando de usar cmd para compilar un archivo básico de hola mundo llamado test.cs Contiene lo siguiente:
// Similar to #include<foo.h> in C++, includes system namespaces in a program using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; // A name space declaration, a class is a group of namespaces namespace Program1 { class Hello // my class here, classes can contain multiple functions called methods which define it's behavior { static void Main(string[] args) // main method, just like in C/C++ it's the starting point for execution cycle { Console.WriteLine("Hello World"); Console.ReadKey(); // similar to _getch() in C++ waits for user to input something before closing } } } /* * Other notes, .cs is ac# file extension * cs files can be built via terminal by using csc foo.cs to generate foo.exe run it with foo */ Cuando intento ejecutar la línea csc test.cs obtengo el siguiente resultado: 
Localice la ruta de csc.exe y agréguela a su variable de entorno PATH .
En mi caso, la ruta para el compilador de C# de 64 bits es C:\Windows\Microsoft.NET\Framework64\v4.0.30319 .
Del mismo modo, puede buscar el compilador C# de 32 bits en C:\Windows\Microsoft.NET\Framework en diferentes directorios de versiones de .NET Framework
Habrá csc.exe para todas las versiones como v2.0.XXXXX y v3.5. Seleccione el que tenga la versión más alta en el directorio Framework64/Framework según sus requisitos.
Copie la ruta de csc.exe y agréguela a la variable de entorno del sistema PATH.
Salga del cmd, y luego inicie nuevamente y ejecute el programa. Eso funcionaría.