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.
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...).
Work around: Always use command-prompt or batch files.