2009-07-01 22 views
16

Quiero mejorar una aplicación con soporte de scripting como muchas otras aplicaciones tienen, por ejemplo. MS Office using VBA o UltraEdit using JavaScript.C# /. NET scripting library

¿Qué bibliotecas existen para C# /. NET (y qué idioma (s) son compatibles)?

+0

¿No está seguro de cómo esto se aplica ya que Microsoft.Net Framework ya contiene todas las bibliotecas? Por favor, ¿puede eloborar lo que quiere decir con Libraries in C# /. Net para evitar confusiones? – BinaryMisfit

+0

También hay más discusión aquí: http: // stackoverflow.com/questions/137933 –

Respuesta

6

IronPython es un lenguaje de scripting dinámico .NET.

IronPython es una implementación del lenguaje de programación Python que se ejecuta bajo .NET y Silverlight. Es compatible con una consola interactiva con compilación totalmente dinámica. Está bien integrado con el resto de .NET Framework y hace que todas las bibliotecas .NET estén fácilmente disponibles para los programadores de Python, a la vez que mantiene la compatibilidad con el lenguaje Python.

Ver IronPython embedding de ejemplos que muestran formas de llamar a IronPython de .NET aplicaciones. El IronPython Calculator and the Evaluator entra en los detalles del uso de IronPython desde una aplicación C#.

11

favor verifique CS Scripting biblioteca

Here es un artículo acerca de los scripts de Photoshop CS con C#

This Se discute el uso de secuencias de comandos LUA como lib con C#.

0

No olvides LSharp, LISP en .NET. Algo para vigilar si está explorando la etapa de funcionalidad. Tal vez Rob Blackwell se alegrará de saber que lo estás considerando.

0

Puede hornear su propio entorno de scripting con Mono.CSharp (solo un dll simple) o Roslyn, ambos se están poniendo bastante maduros ahora.

Mono contiene la clase Evaluator y Roslyn el ScriptEngine, ambos hacen que sea muy fácil configurar un entorno de script. Por supuesto, algo como ScriptCS ya se basa en eso (Roslyn) y le ofrece más funciones.

Para un entorno de script C# creado en Mono.CSharp, puede consultar CShell (que hice).