Skip to content
C# scripting platform
C# Visual Basic .NET Other
Branch: master
Clone or download

Latest commit

Oleg Shilo
Oleg Shilo Release: v3.30.2
- Issue #189: Error "Cannot parse "//css_import..."" when referencing an assembly
- Issue #193: DirectoryNotFoundException(C:\ProgramData\CS-Script\ShellExtension) when fresh installing
Latest commit dcc39d5 Apr 27, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
Source Release: v3.30.2 Apr 27, 2020
bin/linux/ubuntu - minor samples updates Oct 14, 2019
docs Fixed all urls pointing to the old web hosting Oct 12, 2019
.gitattributes - First revision of CS-Script.Core May 16, 2018
.gitignore Minor code cleanup Dec 5, 2018
LICENSE Update LICENSE Jan 18, 2018 Update Jan 25, 2020
appveyor.yml Preparing AppVeyor integration Nov 29, 2017
help.txt Release: v3.30.2 Apr 27, 2020


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!");
You can’t perform that action at this time.