This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
CS-Script (www.csscript.net) is a CLR (Common Language Runtime) based scripting system which uses ECMA-compliant C# as a programming language. CS-Script currently targets Microsoft implementation of CLR (.NET 2.0/3.0/3.5/4.0) and with full support for Mono.
CS-Script as a scripting environment offers stand alone script execution as well as hosting the script engine from CLR application.
Because of statically typed nature of the script execution CS-Script demonstrates no performance degradation comparing to the compiled managed binaries.
In addition to this in 2013 an Open Source CS-Script plugin for Notepad++ has been made publicly available.
CS-Script has been used in a number of open-source and proprietary products of different scale and complexity (e.g. FlashDevelop, MediaPortal).
CS-Script is released under the custom "liberal" license, which is allows free commercial use and free access to the source code.
Benefits of a C#-based scripting system
Simple deployment approach
Just bring both script and engine file (about 100 KB size) on the system that has .NET runtime installed and script can be run.
Scripts can be run on any system, which has CLR installed (including Mono).
Base language is a full featured C#
CS-Script is a truly object-oriented language, supports VB.NET, C++/CLI and J#. All .NET functionality is available (FCL, COM Interop, Remoting, WPF, WCF, etc.). Easily available debugger and rich IDE (Visual Studio or third-party IDEs). Execution model within the script is the same as for any .NET application: static void Main().
interpretation of any statement in the script is done only once even if the statement is frequently used throughout the code.
The script language is type safe (strongly typed)
Strong typing is a luxury not available for the most of the scripting languages.
All software development tasks can be done in the same language.
GUI development for script application becomes easy.
Scripting system can be extended by using new assemblies written in any .NET languages or COM components. Any script can be easily converted into an application and vice versa. Functionality of any CLR application can be extended with scripting.