c# csx

¿Para qué son los archivos.CSX C#?



(4)

En este momento (2016), los archivos .csx también se utilizan en el editor de código en línea proporcionado por Microsoft.

Por ejemplo, puede desarrollar una aplicación completamente desde el navegador e implementarla continuamente desde allí. Aquí hay un bot de ejemplo creado desde el Portal de Azure y escrito en CSX a través del navegador:

He oído hablar de archivos .cs pero nunca de archivos .csx . Las búsquedas en Google me llevaron a la corporación CSX y otros cuerpos no deseados. ¿Puede alguien proporcionar una descripción breve de lo que es un archivo CSX y quizás las principales diferencias entre CSX y CS?



Es un archivo de script C # introducido con Roslyn:

Soporte de edición del archivo de secuencias de comandos de C # (.csx): El CTP introduce el concepto de un archivo de secuencias de comandos de C #. Puede crear un archivo .csx [...]

No es necesario tener todo en una clase y método, un archivo csx es como su propio método, y todo en el archivo se ejecutará al inicio. También es compatible con algunas directivas adicionales (como #load para cargar otro script).

El Scripting Api proporcionado en Roslyn , aunque es prometedor, tiene algunas fallas graves:

Las API de scripting requieren el escritorio .NET Framework 4.6+.

  • Significa que no era multiplataforma. (pero con .NET Core, ahora debería ser).
  • La sintaxis de C # no está realmente orientada a scripts (demasiado detallada)
  • Las directivas disponibles aunque obligatorias no son suficientes para cubrir el amplio alcance de un CLI (como powershell). Por ejemplo, no hay cd, alias, pwd, ls, exec o similares .

Hay varios motores de secuencias de comandos que se basan en ella (o en la parte inferior de Roslyn) o al menos en el mismo formato, al tiempo que proporcionan directivas más avanzadas. Por lo tanto, significa que un archivo csx debe ejecutarse en uno de los siguientes:

Tenga cuidado, incluso si comparten una base común, no son compatibles entre sí, ya que no existe un estándar en las extensiones que implementan.


Es un archivo de script utilizado por ScriptCS para permitirle crear ejecutables sin tener que crear un archivo de proyecto.