Support for non-C# languages is provided by the means of plug'n'play compilers (code providers) implemented as an external assembly. It means that you can implement your own compiler for non-C# syntax or use any existing one.
The current version of CS-Script code is distributed with the cs-script/Lib/CSSCodeProvider.dll assembly which provides access to Microsoft JScript, VB.NET and C++/CLI compilers. See Implementing non-C# compilers tutorial for details.
If you want to use CSSCodeProvider.dl you will need to specify it's location as a value for the UseAlternativeCompiler property in the CS-Script configuration console.
When the alternative compiler (CSSCodeProvider.dll ) is enabled, script files are always compiled by the specific language compiler depending on the script file extension (g.e. .vb - VisualBasic, .js - Java, .cs - C#, cpp - C++).
Some of the script engine features are not available for non-C# scripts. These limitations are in fact very similar to the limitations associated with running CS-Script on Mono:
Restriction: The assemblies referenced
in the code cannot be loaded automatically.
Cause : The script engine analyses only C# using
statements in code.
Work around: Instruct the engine to load
assemblies explicitly. Make sure all GAC assemblies
are
specified as non-searchable (see Using .NET assemblies
for details).
Restriction: AppartmentState cannot be
set from the code.
Cause : The script engine analyses only C# [STAThread]
statements in code.
Work around: Use css_config.xml file to specify
AppartmentState value.
Restriction: If the script is specified
in command-prompt without the file extension it will be handled as a C#
script.
Cause: N/A
Work around: Always use the file extension for
non-C# scripts (e.g. cscs hello.vb, cscs hello.js).
Restriction: No integration with the
operating system is available (debugging under IDE, running with
right-click from explorer...).
Cause: N/A
Work around: Always use command-prompt or batch
files.
Command-line interface | CS-Script configuration | Implementing non-C# compilers