Because CS-Script is based on the full featured C# it offers full access to CLR and CTS. It can be run with 'any' version of CLR (.NET 1.1/2.0/3.0/4.0/4.5), even potentially with future releases.
It offers possibility of extending functionality of any CLR applications with "scripting", by hosting the script engine in the application.
It also provides integration with OS, common IDEs and debuggers.
These are some details of the major features of the CS-Script scripting system:
Programming language is CLS-compliant C# (J#/JScript, VB.NET, C++/CLI and Classless C# are also supported)
Script engine can run C# code targeting any version of .NET framework (you can configure the engine to work with a paricular version of the .NET). Also CS-Script can be run on Mono.
Any CLS-compliant C# code (standard .cs file) can be used as a script without any modifications
CS-Script allows development without the purchase of any additional products (though integration with MS VS or any other third-party IDE is highly recommended)
Automatic script caching ensures maximal performance
Script offers remarkable performance. The measurements of startup delay for a script executed in cached mode (with '/c' switch) on the moderate PC (P4 2.8GHz 1G of RAM) shows about 45-60 ms overhead comparing to a standalone executable equivalent. Thus measured execution time for the standard "Hello World" script (hello.cs) script was consistently around 110 ms
Sophisticated algorithm for local assemblies resolving ensures usage of "plain vanilla C# file"
Runtime callable wrappers, WebService and Remoting proxies can be dynamically generated on fly, without developer involvement. All this makes CS-Script very dynamic runtime environment while maintaining it's statically typed nature. All this is possible because of the concept of pre/post-execution scripts: additional scripts, which can be executed prior or after the main script execution.
Any script can be compiled into executable. Thus no script engine is required to run it.
Any script can be compiled into dll. Thus it can be used by other applications without usage of the script engine.
Script engine implementation in a form of assembly (CSScriptLibrary.dll) is provided. Thus it can be hosted by CLR applications (see Script hosting ).
Script engine can load/execute multiple scripts with 'import' directive thus code from one script can be executed from another (see Importing scripts ).
Script engine can load at run time assemblies referenced directly in the script code with 'reference' directive (see Using .NET assemblies ).
Script engine is integrated with Operating System by means of configurable (editable) shell extensions for Windows Explorer. This includes:
- Open script file in Visual Studio
- Run script as a WinForm application
- Run script as a console application
- Start script under debugger
- Check script for errors (verify)
- Start configuration console
- Convert script to a VS2003 project
- Convert script to a VS2005 project
- Convert script to a VS2008 project
- Compile script into a WinForm application
- Compile script into a console application
- Compile script into a class library
CS-Script is completely integrated with Visual Studio 2010 by means of the extension CS-Script Visual Studio Tools.
Integration with the wide range of free CLR IDEs and debuggers is also available. Currently supported IDEs/Debuggers are MS .NET Studio 8.0/9.0/9.0(Express), SharpDevelop and MS CLR Debugger. Any script can be easily converted in the Visual Studio 2005/2008 project.
The Visual Studio 2010 C# Express edition, (freely available version of Visual Studio) is a recommended free IDE for CS-Script.
C# scripts are very easy to debug with any CLR debugger available on the target system.
- One debugger can be used to debug both script host and script itself seamlessly.
- Any script can be easily converted in the Visual Studio 2008 project.
- Supported systems: Windows Vista, Windows Server, Windows XP, Windows 2000 2003
The features planned for future releases: