Home

Online Help

Licence

WixSharp

Notepad++
Integration

Support
CS-Script


PayPal

CS-Script - The C# Script Engine

C# Script execution engine version 3.9.16 - Copyright (C) 2004-2015 Oleg Shilo.

Please note that the project has been migrated on GitHub and this web site is only maintained for historical reasons and as an online documentation repository.
For the latest information and documentation on CS-Script and its spin off products follow the links below:
Customer Testimonials

What a masterful piece of work. Rarely do we find a piece of "technical art" that is hand-crafted any more in this field.
Steve N.

Why use Roslyn when CSScript has been providing great scripting capability for my projects for over 7 years.
David R.

Download the latest release



CS-Script is now fully supported by Notepad++ (intellisense, execution...)

What is CS-Script?

CS-Script 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/4.5) with full support on Mono.

CS-Script is an open-source (MIT) initiative that is distributed under the license agreement, which can be found here.

CS-Script combines the power and richness of C# and FCL with the flexibility of a scripting system. CS-Script can be useful for system and network administrators, developers and testers. For any one who needs an automation for solving variety of programming tasks.

CS-Script has started as an article at CodeProject but quickly it has grown past the scale of a single publication. Currently it is used world wide for extending the applications functionality with scripting and as a general purpose scripting environment. It is used by both enthusiasts and by professional programmers. It found its way to non-profit organizations (e.g. educational institutes) as well as to commercial organizations. These are just a few examples: MediaPortal, FlashDevelop, K2 API, SF.net ("WinTin"), BonSAI, AyaNova (service management software).

The main idea of CS-Script is to allow "plain vanilla" C# code execution from both command-prompt and form any CLR application hosting the script engine.

CS-Script comes with the full integration with Visual Studio as well as with Notepad++. CSScript.Npp plugin for Notepad++ converts this great people's editor into a full scale CS-Script IDE with Intellisense, execution and even debugging support.

Command-prompt execution:

Explorer view:

hello.cs:

using System;
using System.Windows.Forms;
class Script
{
static void Main()
{
MessageBox.Show( "Hello World!");
}
}
Script hosting execution:
A. Execution of the script containing class definition:
dynamic script = CSScript.Evaluator
.LoadCode(@"using System;
public class Script
{
public int Sum(int a, int b)
{
return a+b;
}
}");
int result = script.Sum(1, 2);

B. Execution of the script containing method definition only:

dynamic script = CSScript.Evaluator
.LoadMethod(@"void SayHello(string greeting)
{
Console.WriteLine(greeting);
}");
script.SayHello("Hello World!");

or

var Product = CSScript.Evaluator
.CreateDelegate(@"int Product(int a, int b)
{
return a * b;
}");
int result = (int)Product(1, 2);

or

int result = (int)CSScript.Evaluator.Evaluate("1 + 2");
CSScript.Evaluator.Run("using System;");
CSScript.Evaluator.Run("Console.WriteLine(\"Hello World\\")");

C. Execution of the script by "aligning" it to the appropriate interface (DuckTyping).
Important aspect of such hosting model that the script execution is completely typesafe and IDEs like VisualStudio can provide full Intellisense support:

1. Script HelloScript.cs
2. Complete script hosting code
using CSScriptLibrary;

public interface IScript
{
void Hello(string greeting);
}

class Host
{
static void Main()
{
IScript script = CSScript.Evaluator
.LoadFile<IScript>("HelloScript.cs");

script.Hello("Hi there...");
}
}

Note practicaly all code above is available in CodeDOM version. Just replace 'CSScript.Eveluator' with 'CSScript' and all calls will be redirected to CodeDOM API (more details here).

CS-Script comes with the complete integration with MS Visual Studio 2010
(CS-Script Visual Studio Tools ). Because of the clever loading model CLR Debuggers do not differentiate between static and dynamic code (script). You can debug your script with the same debugger as your host application.

CS-Script can be hosted in NAnt environment. You can execute of both script files and embedded C# code (CDATA) from NAnt build scripts. The unrestricted bi-directional data exchange between NAnt runtime and CS-Script script code (e.g. C# code) can be achieved due to the advanced CS-Script hosting architecture.

CS-Script also brings you Dynamic Code Generation. The concept, which allows you to define C++ style macros in C#.

CS-Script comes with the full set of comprehensive documentation (tutorials, help in both CHM and PDF format, API reference guide).

Why CS-Script? - read about the difference between CS-Script and other CLR based scripting solutions. This is what you need to know before making a decision on using the CS-Script.

Benefits of C# Scripting System:

Copyright (C) 2004-2015 Oleg Shilo



AltStyle によって変換されたページ (->オリジナル) /