Releases: oleg-shilo/cs-script
Release v4.1.4.0-HotFix
- Updated
-speed
and-code
with the complete support-ng:*
switches - Added
IEvaluator.IsCachingEnabled
. Ite as always available from the conctrete types implementingIEvaluator
and now it is moved directly to the interface. - Added
-servers:start
and-servers:stop
command to control both Roslyn and csc build servers at the same time - CSScriptLib: Native API
CacheEnabled
marked as obsolete - Issue #258: Can not run scripts after installing VS2022
- Issue #257: Ability to catch AppDomain.UnhandledException in a not-hosted script (cscs)
- Issue #255: Relative path for cscs.exe -out option results in wrong output folder
- Issue #254: Script merger for hosted scripts
- Issue #253: Supports both .Net Framework and .Net 5
- Issue #252: System.NullReferenceException: Object reference not set to an instance of an object. (updated API doc)
- Added auto-generation of the CLI MD documentation with
-help cli:md
. To be used to generate GitHub wiki page during the build - Fixed Debian packaging problem (
/n/r
needed replacement with\n
)
Release v4.1.2.0-pre
Release v4.1.0.0
Implementation of Roslyn engine that allows execution of scripts (both CLI and hosted) on the target system without .NET 5 SDK installed.
Deployment
Ubuntu (terminal)
repo=https://github.com/oleg-shilo/cs-script/releases/download/v4.1.0.0/; file=cs-script_4.1-0.deb; rm $file; wget $repo$file; sudo dpkg -i $file
Windows (choco)
Pending approval
choco install cs-script --version=4.1.0.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
-
Added support for Roslyn engine (no SDK required). See this wiki for details.
Per-execution
From command line:
css -engine:roslyn <script file> or css -ng:roslyn <script file>
From script code:
//css_engine roslyn or //css_ng roslyn
Global
css -config:set:DefaultCompilerEngine=roslyn
-
Added option to configure build server ports from environment variables
-
Issue #235: csc engine cannot compile dll
CSScriptLib
Release v4.0.2.0
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 = CSScript .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...");
Release v4.0.1.0
The first .NET 5 based release.
From this release both .NET Framework (CS-Script) and .NET Core (CS-Script.Core) streams are merged into one platform CS-Script.
Similar to merger of .NET Framework and .NET Core into .NET 5
Deployment
Ubuntu (terminal)
repo=https://github.com/oleg-shilo/cs-script/releases/download/v4.0.0.0/; file=cs-script_4.0-0.deb; rm $file; wget $repo$file; sudo dpkg -i $file
Windows (choco)
Pending approval
choco install cs-script.core --version=4.0.0.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
v4.0.1.0
CLI
- Added support for
-verbose2
CLI switch to echo compiling input and output - Added
//css_webapp
support - Added checking fro SDK being installed
- Added
cli/web-api
sample - Issue #234: Could not find a part of the path with CS-Script 4.0.0.0
v4.0.0.0
CLI
- New commands:
-server
- for managing build server-vscode
- to open script in VSCode-vs
- to script project in Visual Studio-self-test
- for testing the engine on the target system-self-exe
- for building css launcher for manual deployment-engine:<csc|dotnet>
-new:toplevel
- CLI parameter-profile
- for testing script loading performance-speed
- for compiler performance testing
- Added css.exe
- Added suppotrrt for setting csc path with %css_csc_file%
- Improved error output for BuildServer run failures
- Added creation of
code.header
on first use of CLI command-code
- Added complex (multi-file) commands support (e.g. css -self-test-run)
- Implemented build server
- Implemented hot-loading for csc engine.
- Normalized all \n and \r\n CLI output by using Environment.NewLine
- Added reporting using of incompatible csc compiler for scripts requiring XAML compilation
CSScriptLib
- Implemented //css_winapp for WinForm and WPF applications
- Added //css_engine (//css_ng) directive for choosing the compiling engine
- Completed CSScript.Evaluator.CodeDom interface.
- Implemented transparent hosting of CSScriptLib in .NET-Framework and .NET-Core
- Removed dependency on Roslyn for pure CodeDom evaluator use-case
- added sample with downloading the latest C# compiler
- added passing compiler options
- Implemented probing for default C#5 compiler when hosted on .NET Framework.
- Extending u-testing to cover new Evaluator features (CSScriptLib.dll)
- Added
CodeDomEvaluator.CompilerLastOutput
Release v4.0.0.0
The first .NET 5 based release.
From this release both .NET Framework (CS-Script) and .NET Core (CS-Script.Core) streams are merged into one platform CS-Script.
Similar to merger of .NET Framework and .NET Core into .NET 5
Deployment
Ubuntu (terminal)
repo=https://github.com/oleg-shilo/cs-script/releases/download/v4.0.0.0/; file=cs-script_4.0-0.deb; rm $file; wget $repo$file; sudo dpkg -i $file
Windows (choco)
Pending approval
choco install cs-script.core --version=4.0.0.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
- New commands:
-server
- for managing build server-vscode
- to open script in VSCode-vs
- to script project in Visual Studio-self-test
- for testing the engine on the target system-self-exe
- for building css launcher for manual deployment-engine:<csc|dotnet>
-new:toplevel
- CLI parameter-profile
- for testing script loading performance-speed
- for compiler performance testing
- Added css.exe
- Added suppotrrt for setting csc path with %css_csc_file%
- Improved error output for BuildServer run failures
- Added creation of
code.header
on first use of CLI command-code
- Added complex (multi-file) commands support (e.g. css -self-test-run)
- Implemented build server
- Implemented hot-loading for csc engine.
- Normalized all \n and \r\n CLI output by using Environment.NewLine
- Added reporting using of incompatible csc compiler for scripts requiring XAML compilation
CSScriptLib
- Implemented //css_winapp for WinForm and WPF applications
- Added //css_engine (//css_ng) directive for choosing the compiling engine
- Completed CSScript.Evaluator.CodeDom interface.
- Implemented transparent hosting of CSScriptLib in .NET-Framework and .NET-Core
- Removed dependency on Roslyn for pure CodeDom evaluator use-case
- added sample with downloading the latest C# compiler
- added passing compiler options
- Implemented probing for default C#5 compiler when hosted on .NET Framework.
- Extending u-testing to cover new Evaluator features (CSScriptLib.dll)
- Added
CodeDomEvaluator.CompilerLastOutput
Release v3.30.5.2
Release v3.30.5.2
This release has v3.30.5.1 distro packaging problem fixed. Otherwise it is identical to Release v3.30.5.1:
Release v3.30.5.1
Release v3.30.5.0-pre
Release v3.30.4.0
- PR #178:Fixed issue where Example.Sub assembly would be matched when requesting Example assembly
- Issue #213: Error message uses a non-Windows \n instead of e.g. Environment.NewLine
- Issue #211: Implementing a partial class with a circular css_import results in a recursion in CS-Script and results in a PathTooLongException
- Issue #214: The exception that is thrown when a the script compiler error occurs.
- Issue #202: Better versioning of referenced NuGet packages
- Issue #203: precompiler/context["CompilerOptions"] doesn't appear to work
- Issue #198: Changes from version 3.29 to 3.30