Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Notice: Creating folder will generate an empty file .keep, because not support in Git


Build status Chocolatey Version Chocolatey Downloads NuGet version (CS-Script)


CS-Script is a CLR based scripting system which uses ECMA-compliant C# as a programming language.

CS-Script is one of the most mature C# scripting solutions. It became publicly available in 2004, just two years after the first release of .NET. And it was the first comprehensive scripting platform for .NET

CS-Script supports both hosted and standalone execution model. This makes it possible to use the script engine as a pure C# alternative for PowerShell. As well as extending .NET applications with C# scripts executed at runtime by the hosted script engine.

CS-Script allows seamlessly switching underlying compiling technology without affecting the code base. Currently supported compilers are Mono, Roslyn and CodeDOM.

CS-Script also offers comprehensive integration with most common development tools:

It can be run on Win, Linux and Mac. And it is compatible with .NET, Mono and .NET Core.

Over the long history of CS-Script it has been downloaded through Notepad++ x86 plugin manager alone over times (see stats).

* statistics does not include x64 downloads nor downloads after Notepad++ discontinued shiping editor with the plugin manager x86 included

For the all CS-Script details go to the project Documentation Wiki.

The following is a simple code sample just to give you the idea about the product:

Executing script from shell

Updating media file tags. Note, the script is using optional classless layout.

Script file: mp4_retag.cs

//css_nuget taglib
using System;
using System.IO;

string source = @"\\media-server\tv_shows\Get Smart\Season1";

void main()
    foreach (string file in Directory.GetFiles(source, "*.mp4"))
        string episode_name = Path.GetFileNameWithoutExtension(file);

        var mp4 = TagLib.File.Create(file);
        mp4.Tag.Title = episode_name;


Execute script file directly in cmd-prompt without building an executable assembly:

C:\Temp>cscs mp4_retag.cs

Hosting script engine

dynamic script = CSScript.LoadCode(
                           @"using System.Windows.Forms;
                             public class Script
                                 public void SayHello(string greeting)
                                     MessageBox.Show(""Greeting: "" + greeting);
script.SayHello("Hello World!");
var product = CSScript.CreateFunc<int>(@"int Product(int a, int b)
                                             return a * b;
int result = product(3, 4);
var SayHello = CSScript.LoadMethod(
                        @"using System.Windows.Forms;
                          public static void SayHello(string greeting)
                          static void MessageBoxSayHello(string greeting)
                          static void ConsoleSayHello(string greeting)
                         .GetStaticMethod("*.SayHello" , ""); 
SayHello("Hello again!");

Comments ( 2 )

Sign in for post a comment


用C#语言去做脚本语言,速度甩Python N条街!而且可以使用.NET全部类库,支持MONO!强烈适合患有“强迫症”的程序猿使用。不像PYthon那样无类型、无定义声明!让你写脚本写的踏实放心!!此代码fork自github! spread retract
C# and 3 more languages


No release





load more
can not load any more