Внешние компоненты

Внешняя компонента, это DLL, написанная на любом совместимом с .NET языке. Для удобства разработки компонент (и не только) созданы nuget-пакеты движка и библиотеки 1Script.

Для того, чтобы в вашем проекте использовать 1Script необходимо установить nuget-пакеты OneScript и OneScript.StandardLibrary. Первый пакет - строго обязателен, в нем объявлены базовые типы для описания компоненты. Второй - опциональный. В нем описаны основные прикладные типы доступные из языка.

Пример компоненты

https://github.com/dmpas/oscript-component-example

Общий принцип разработки

Принцип разработки компоненты ничем не отличается от доработки самого 1Script. Вы, в своей библиотеке создаете классы и/или глобальные контексты, по тому же самому принципу, который описан в Руководстве разработчика.

Вы создаете класс и помечаете его атрибутом ContextClass. Этот класс станет доступен из языка. Внутри класса создаете свойства и методы, размечая их атрибутами ContextProperty и ContextMethod соответственно.

Поставка внешней компоненты

Библиотеки ScriptEngine.dll и ScriptEngine.HostedScript.dll уже находятся в контексте загруженного 1Script, поэтому поставлять их вместе с вашей компонентой не надо. Среда исполнения сама найдет эти зависимости в папке, где установлен 1Script.

Резюме

  1. Создаете проект в Visual Studio
  2. Импортируете пакеты nuget
  3. Создаете публичные классы с атрибутами ContextClass и/или GlobalContext
  4. В поставку включаете только саму компоненту. DLL самого 1Script (подтянутые из nuget) не поставляете.

Все просто )