CS-Script 4.0.2

CS-Script engine Class Library for .NET 5

Showing the top 20 packages that depend on CS-Script.

Packages Downloads
WireMock.Net
Lightweight Http Mocking Server for .Net, inspired by WireMock from the Java landscape.
17
WireMock.Net
Lightweight Http Mocking Server for .Net, inspired by WireMock from the Java landscape.
16
WireMock.Net
Lightweight Http Mocking Server for .Net, inspired by WireMock from the Java landscape.
15
WireMock.Net
Lightweight Http Mocking Server for .Net, inspired by WireMock from the Java landscape.
14
WireMock.Net
Lightweight Http Mocking Server for .Net, inspired by WireMock from the Java landscape.
13

Minor usability improvements of CSScriptLib:

  • Unloading script assembly. After .NET Framework ignoring the problem for ~14 years .NET Core fillally allows this feature to be implemented.
  • Excluding assemblies from being auto referenced (assembly filtering).
  • Implemented script caching that was available in the CS-Script edition for .NET Franework.

Deployment

Ubuntu (terminal)

repo=https://github.com/oleg-shilo/cs-script/releases/download/v4.0.2.0/; file=cs-script_4.0-2.deb; rm $file; wget $repo$file; sudo dpkg -i $file

Windows (choco) Pending approval

choco install cs-script --version=4.0.2.0 

It is highly recommended that you uninstall CS-Script.Core:

sudo choco uninstall cs-script.core

Manual Just unpack the corresponding 7z file and start using the script engine executable cscs. If you prefer you can build a shim exe css for an easy launch of the script engine process:

cscs -self-exe

The same shim/symbolic link is created if you are installing the CS-Script as a package.


Changes

CLI

No changes

CSScriptLib

  • Added support for filtering referenced assemblies:

    dynamic script = CSScript
                         .Evaluator
                         .SetRefAssemblyFilter(asms =>
                             asms.Where(a => !a.FullName.StartsWith("Microsoft."))
                         .LoadCode(scriptCode);
    
  • Added extension method for unloading script assembly after the execution

    ICalc calc = evaluator
                    .With(eval => eval.IsAssemblyUnloadingEnabledled = true)
                    .LoadMethod<ICalc>("int Sum(int a, int b) => a+b;");
    
    var result = calc.Sum(7, 3);
    
    calc.GetType()
        .Assembly
        .Unload();
    
  • Added script caching. If caching is enabled (disabled by default) the script is to be recompiled only if it is changes since the last execution. It applies to both execution if script file and script code.

    dynamic script = CSScript.Evaluator
                             .With(eval => eval.IsCachingEnabled = true)
                             .LoadMethod(@"object print(string message)
                                           {
                                               Console.WriteLine(message);
                                           }");
    
    script.print("Hello...");
    
    

Version Downloads Last updated
4.14.11 12 10/01/2026
4.14.10 12 10/01/2026
4.14.9 8 10/01/2026
4.14.8 12 10/01/2026
4.14.7 11 10/01/2026
4.14.6 8 10/01/2026
4.14.6-pre 9 10/01/2026
4.14.5 10 10/01/2026
4.14.4 9 10/01/2026
4.14.4-Pre 10 10/01/2026
4.14.3 13 10/01/2026
4.14.2 11 10/01/2026
4.14.1 13 10/01/2026
4.14.0 10 10/01/2026
4.13.2 12 10/01/2026
4.13.1 12 10/01/2026
4.13.0 12 10/01/2026
4.12.0 9 10/01/2026
4.11.2 12 10/01/2026
4.11.0 12 10/01/2026
4.10.1 11 10/01/2026
4.10.0 8 10/01/2026
4.9.9 9 10/01/2026
4.9.7 11 10/01/2026
4.9.6 10 10/01/2026
4.9.5 12 10/01/2026
4.8.27 11 10/01/2026
4.8.26 11 10/01/2026
4.8.21 8 10/01/2026
4.8.19 14 10/01/2026
4.8.18-HotFix 9 10/01/2026
4.8.17 10 10/01/2026
4.8.16 9 10/01/2026
4.8.16-pre 11 10/01/2026
4.8.14 10 10/01/2026
4.8.13 9 10/01/2026
4.8.12 10 10/01/2026
4.8.10 8 10/01/2026
4.8.9 8 10/01/2026
4.8.8 10 10/01/2026
4.8.7 14 10/01/2026
4.8.4-pre 9 10/01/2026
4.8.3 11 10/01/2026
4.8.1 9 10/01/2026
4.8.0 9 10/01/2026
4.6.5 10 10/01/2026
4.6.2 10 10/01/2026
4.5.0 11 10/01/2026
4.4.6 9 10/01/2026
4.4.5 7 10/01/2026
4.4.4-pre 10 10/01/2026
4.4.2 9 10/01/2026
4.4.1 11 10/01/2026
4.4.0 8 10/01/2026
4.3.0 9 10/01/2026
4.2.0 11 10/01/2026
4.1.3-pre 10 10/01/2026
4.1.2-pre 11 10/01/2026
4.1.1-pre 12 10/01/2026
4.1.0 11 10/01/2026
4.0.2 10 10/01/2026
4.0.1 10 10/01/2026
4.0.0 13 10/01/2026
3.30.5.1 11 10/01/2026
3.30.5-pre 10 10/01/2026
3.30.4 10 10/01/2026
3.30.3 10 10/01/2026
3.30.2-HotFix 11 10/01/2026
3.30.1-HotFix 10 10/01/2026
3.30.0 14 10/01/2026
3.29.0 12 10/01/2026
3.28.7 10 10/01/2026
3.28.4 10 10/01/2026
3.28.2 8 10/01/2026
3.28.0.1 8 10/01/2026
3.28.0 13 10/01/2026
3.27.2 11 10/01/2026
3.27.0 9 10/01/2026
3.26.2 14 10/01/2026
3.25.1.1 12 10/01/2026
3.25.1 11 10/01/2026
3.24.2 10 10/01/2026
3.24.0 10 10/01/2026
3.22.0 10 10/01/2026
3.21.1 11 10/01/2026
3.19.0 12 10/01/2026
3.18.1 10 10/01/2026
3.16.0 10 10/01/2026
3.14.0 10 10/01/2026
3.13.2 9 10/01/2026
3.13.1 14 10/01/2026
3.12.3 10 10/01/2026
3.12.2.1 11 10/01/2026
3.12.1 10 10/01/2026
3.12.0.1 11 10/01/2026
3.12.0 12 10/01/2026
3.11.0.1 12 10/01/2026
3.11.0 11 10/01/2026
3.10.0 12 10/01/2026
3.9.19 9 10/01/2026
3.9.17 10 10/01/2026
3.9.10 9 10/01/2026
3.9.8.1 12 10/01/2026
3.9.8 10 10/01/2026
3.9.7 10 10/01/2026
3.9.5 12 10/01/2026
3.9.4.1 8 10/01/2026
3.9.2 9 10/01/2026
3.8.10 13 10/01/2026
3.8.8 13 10/01/2026
3.8.7 9 10/01/2026
3.8.6 10 10/01/2026
3.8.5 9 10/01/2026
3.8.3 11 10/01/2026
3.8.2 10 10/01/2026
3.7.2 9 10/01/2026
3.7.0 9 10/01/2026
3.6.7 8 10/01/2026
3.6.2 9 10/01/2026
3.5.9 9 10/01/2026
3.5.8 10 10/01/2026
3.5.7 11 10/01/2026
3.5.6 10 10/01/2026
3.5.5 9 10/01/2026
3.5.4 8 10/01/2026
3.5.3 9 10/01/2026
3.5.0.2 10 10/01/2026
3.5.0.1 10 10/01/2026
3.5.0 8 10/01/2026
3.2.5.1 10 10/01/2026
3.2.5 15 10/01/2026