A library for adding scripting to .NET applications. Supports V8 (Windows, Linux, macOS) and JScript/VBScript (Windows).
Перейти к файлу
ClearScript Library 285706bc1f
Update ReadMe.md
2020-11-05 21:42:32 -05:00
ClearScript ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
ClearScriptBenchmarks ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
ClearScriptConsole ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
ClearScriptTest ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
ClearScriptV8 ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
NetCore ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
NuGet/files ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
Unix ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
V8 Fixed support for multiple application domains. Tested with V8 8.7.220.10. 2020-10-29 09:00:51 -07:00
docs ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
.gitignore ClearScript 7.0 RC: Removed all C++/CLI code, paving the way for non-Windows builds and resolving GitHub Issue #197; switched to static linking for V8 and C++ libraries; added initial support for .NET Core 3.1 on Linux and macOS; added V8ScriptEngineFlags.EnableTaskPromiseConversion to resolve GitHub Issue #198; updated managed code to leverage C# 7.3 features; updated build, deployment, and debugging documentation, resolving GitHub Issue #199. Tested with V8 8.6.395.17. 2020-10-16 21:26:01 -07:00
ClearScript.NoV8.sln ClearScript 6.0: Added preliminary support for .NET Core 3.1 on Windows (GitHub Issue #9); added support for system documents (GitHub Issue #143); added IList implementation to V8 arrays; added ExtendedHostFunctions.typeLibEnums (GitHub Issue #147); added WindowsScriptEngineFlags.MarshalDateTimeAsDate (GitHub Issue #141); fixed generic type inference for COM interfaces; fixed enumeration of COM collections that don't provide class information (GitHub Issue #146); fixed memory leak impacting Windows Script object property assignment (GitHub Issue #135); updated build and API documentation. Tested with V8 7.9.317.32. 2019-12-17 11:50:07 -05:00
ClearScript.NoV8.sln.DotSettings ClearScript 7.0 RC: Removed all C++/CLI code, paving the way for non-Windows builds and resolving GitHub Issue #197; switched to static linking for V8 and C++ libraries; added initial support for .NET Core 3.1 on Linux and macOS; added V8ScriptEngineFlags.EnableTaskPromiseConversion to resolve GitHub Issue #198; updated managed code to leverage C# 7.3 features; updated build, deployment, and debugging documentation, resolving GitHub Issue #199. Tested with V8 8.6.395.17. 2020-10-16 21:26:01 -07:00
ClearScript.sln ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
ClearScript.sln.DotSettings ClearScript 7.0 RC: Removed all C++/CLI code, paving the way for non-Windows builds and resolving GitHub Issue #197; switched to static linking for V8 and C++ libraries; added initial support for .NET Core 3.1 on Linux and macOS; added V8ScriptEngineFlags.EnableTaskPromiseConversion to resolve GitHub Issue #198; updated managed code to leverage C# 7.3 features; updated build, deployment, and debugging documentation, resolving GitHub Issue #199. Tested with V8 8.6.395.17. 2020-10-16 21:26:01 -07:00
License.txt Tweaked licenses slightly. 2018-10-08 22:33:19 -04:00
ReadMe.md Update ReadMe.md 2020-11-05 21:42:32 -05:00
RunNetCoreTests.cmd Version 6.0.1: Improved support for IIS least-privilege accounts (GitHub Issue #160); fixed 64-bit V8 initialization on Azure App Service (GitHub Issue #166); enabled DirectAccess for ComVisible .NET objects (GitHub Issue #161); added ScriptEngine.ExposeHostObjectStaticMembers (GitHub Issue #152); added ScriptEngine.UndefinedImportValue and made Undefined.Value public (GitHub Issue #154); enhanced ExtendedHostFunctions.typeLibEnums to pull in external enumerations; added thread affinity enforcement in WindowsScriptEngine.Dispose; eliminated KeyNotFoundException when checking for system documents (GitHub Issue #169); enabled the use of the application's root folder as a backup for its local data folder (GitHub Issue #171); reduced minimum CPU profile and heap size sampling intervals to 125 ms; updated deployment and API documentation, resolving GitHub Issues #158 and #159. Tested with V8 8.1.307.28. 2020-04-13 11:29:36 -04:00
V8Update.cmd ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00
Version.tt ClearScript 7.0 RC5: ClearScript.dll has been split into ClearScript.Core.dll, ClearScript.Windows.dll, and ClearScript.V8.dll; the project no longer builds distinct .NET Core libraries for non-Windows platforms; the name of each V8 native assembly now includes its Runtime Identifier; enhanced support for cross-platform deployment of web projects; overhauled NuGet packaging according to Andrey Taritsyn's recommended taxonomy (GitHub Issue #209). Tested with V8 8.7.220.16. 2020-11-04 18:29:51 -08:00

ReadMe.md

Description

ClearScript is a library that makes it easy to add scripting to your .NET applications. It currently supports JavaScript (via V8 and JScript) and VBScript.

Features

  • Simple usage; create a script engine, add your objects and/or types, run scripts
  • Support for several script engines: Google's V8, Microsoft's JScript and VBScript
  • Exposed resources require no modification, decoration, or special coding of any kind
  • Scripts get simple access to most of the features of exposed objects and types:
    • Methods, properties, fields, events
    • (Objects) Indexers, extension methods, conversion operators, explicitly implemented interfaces
    • (Types) Constructors, nested types
  • Full support for generic types and methods, including C#-like type inference and explicit type arguments
  • Scripts can invoke methods with output parameters, optional parameters, and parameter arrays
  • Script delegates enable callbacks into script code
  • Support for exposing all the types defined in one or more assemblies in one step
  • Optional support for importing types and assemblies from script code
  • The host can invoke script functions and access script objects directly
  • Full support for script debugging
  • (V8) Support for fast data transfer to and from JavaScript typed arrays
  • (V8) Support for JavaScript modules
  • (JavaScript) Support for CommonJS modules
  • 🆕 Support for .NET Core 3.1 on Windows, Linux, and macOS.

Installation

Composite packages

  • ClearScript
  • ClearScript.linux-x64
  • ClearScript.osx-x64

Component packages

  • ClearScript.Core
  • ClearScript.Windows
  • ClearScript.V8

V8 native assembly packages

  • ClearScript.V8.Native.win-x86
  • ClearScript.V8.Native.win-x64
  • ClearScript.V8.Native.linux-x64
  • ClearScript.V8.Native.osx-x64

Documentation