1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chejiangyi-NScript

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Настройка скриптового движка NScript для .NET

Для решения задач в окружении Windows с использованием .NET, аналогичных возможностям Groovy в Java. В интернет-проектах можно использовать его для выполнения различных функций, таких как динамическое управление маркетинговыми кампаниями (разделение бизнес-логики и её вынесение за рамки основной программы), правила управления, процессы, операционные скрипты для Windows, разработка плагинов через исходный код и т.д.

Способы использования

Включает в себя три метода запуска: через исполняемый файл (main), через сборку программ, и через домены приложений.

Конечный компилированный файл

BSF.BaseService.NScript.exe```c# Запуск exe файла

  1. Можно запустить этот exe файл через командную строку cmd Формат команды /run: /run {файл} {аргументы} Пример: /run C:\scripts\myscript.nsc Hello World Описание: Обязательно реализуйте функцию Main. {файл} — это путь к файлу, {аргументы} — аргументы для функции Main, разделённые пробелами по умолчанию. Формат команды /help: /help Описание: Показывает описание всех доступных команд для текущего exe файла.
  2. Сам exe файл является редактором скриптов. Может использоваться как средство редактирования скриптов .NET, позволяющее прямо в рабочей среде редактировать или временно менять код. Для разработки рекомендуется всё же использовать Visual Studio.
  3. Сам exe файл также служит временем выполнения скрипта. Полностью выполняет парсинг и выполнение скрипта.
  4. Размер exe файла Сам exe файл очень маленький, но увеличивается из-за объединения сторонних редакторских контрольных элементов.
  5. EXE файл может быть использован в решении в виде DLL и используется через интерфейс NScriptHelper.

Все изменения были сделаны согласно правилам перевода, чтобы обеспечить корректность и естественность текста на русском языке.### Пример запуска через main ###
*Описание:*
Пример запуска скрипта через команду exe

1. Нажмите на "Run.bat"
2. Нажмите на "bsf.baseservice.nscript.exe" для редактирования и отладки скриптов.

*Скриншот:*
![Скриншот](http://static.oschina.net/uploads/space/2bk.png)

*Ссылка на скачивание:*
http://share.weiyun.com/043fe46f11aabc1c2c17eb4d7cfa1e00

(или git исходного кода /doc/demo)

### Пример запуска через сборку или домен приложения ###
*Описание:*
1) Добавьте "BSF.BaseService.NScript.exe" в решение
2) Пример кода для запуска через сборку или домен приложения```c#
{
    this.richTextBox1.Text = @"
public class B
{
    //static void Main(string[] args)
    //{
    //    System.Console.WriteLine(""Hello"");
    //    System.Console.ReadLine();
    //    System.Console.ReadKey();
    //}
    public string Test(string a)
    {
        return a;
    }
}";
}

private void button1_Click(object sender, EventArgs e) { try { string code = this.richTextBox1.Text; CompilerResult result = null; var r = NScriptHelper.Run(new CompilerParams() { EnumSourceType = Core.EnumSourceType.Code, EnumCompilerMode = Core.EnumCompilerMode.Assembly, CodeOrFileName = code }, "B", "Test", new object[]{ "a" }, out result); MessageBox.Show(r); } catch (Exception exp) { MessageBox.Show(exp.Message); } }

private void button2_Click(object sender, EventArgs e) { try { string code = this.richTextBox1.Text; CompilerResult result = null; var r = NScriptHelper.Run(new CompilerParams() { EnumSourceType = Core.EnumSourceType.Code, EnumCompilerMode = Core.EnumCompilerMode.AppDomain, CodeOrFileName = code }, "B", "Test", new object[]{ "a" }, out result); MessageBox.Show(r); } catch (Exception exp) { MessageBox.Show(exp.Message); } }
Сжатый архив для скачивания: http://share.weiyun.com/5b1f0adf5526b01c7f8ace09eaf9d113 (или в директории git-кода /document/demo)

Пример использования exe для редактирования скриптов

##Пример записи основного файла main.cs##

   /*
    * codefiles=a.cs,codes/b.cs;//другие компилируемые файлы кода, разделенные запятой (поддерживаются относительные пути), регистрозависимость (не используйте точки с запятой и знак равенства)
    * dllfiles=System.dll;//библиотеки DLL для компиляции, разделенные запятой (поддерживаются относительные пути), регистрозависимость (не используйте точки с запятой и знак равенства)
    * compilerlanguage=csharp;//тип языка компиляции, по умолчанию C#, можно не указывать
    */
     /*
   * Вышеуказанные строки являются основной информацией для компиляции, они должны находиться в начале каждого файла кода. Содержит информацию о файлах с исходным кодом, dll-библиотках, языке программирования;
         В заголовочной информации не следует использовать нестандартные символы ';' и '=' — это разделители для парсинга. Основной файл рекомендуется назвать .main.cs, что позволяет автоматически его распознать, остальные файлы должны иметь расширение .cs.
   * Ниже приведён сам код, который следует писать в соответствии со стандартами синтаксиса .NET
   * Автор: Чжань Цзяньюй
   */
   using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Text;
     namespace mytest //можно не указывать пространство имён
   {
       public class B
       {
           //Запуск через сборку или домен приложения
           //По поводу отладки: "Редактор" -> "Отладка".
   }Отладка с передачей аргументов пока недоступна, но в реальной среде она возможна

```csharp
public class TestClass
{
    public string Test()
    {
        return new C().Test();
    }

    // Основная точка входа для компиляции
    // По поводу отладки: "Редактор" -> "Отладка". Отладка с передачей аргументов пока недоступна, но в реальной среде она возможна
    static void Main(string[] args)
    {
        System.Console.Read();
    }
}
```

Группы по открытым проектам: .NET открытые базовые сервисы **238543768**

(Участники имеют основную работу, поэтому могут не успеть ответить сразу, прошу понимания.)

## .NET пути обучения по созданию открытых проектов ##

- Путь 1: скачивание исходного кода -> изучение проекта -> успешное развертывание проекта (по документации проекта или с помощью администратора группы QQ) -> становление администратором проекта в группе QQ -> решение ежедневных проблем проекта -> составление и распространение документов проекта -> участие как разработчик в проектах Git
- Путь 2: скачивание исходного кода -> изучение проекта -> успешное развертывание проекта (по документации проекта или с помощью администратора группы QQ) -> выявление ошибок во время использования и отправка их администратору проекта - Путь 3: скачивание исходного кода -> изучение проекта -> успешное развертывание проекта (по документации проекта или с помощью администратора группы QQ) -> создание своего ветвления проекта -> отправка новых функций ветви администратору официального проекта -> объединение новых функций и выпуск новой версии проекта
   ## О планах развития экосистемы .NET ##
  .NET экосистема замкнутого цикла: официальный открытый проект -> участие сторонних разработчиков -> улучшение и отправка новых функций или ошибок -> объединение новых функций или исправлений -> выпуск новой версии проекта
Почему открытость? Открытая экосистема .NET сама по себе слаба, но её мощность создаётся благодаря нашему непрерывному обучению, маленьким шагам в делёнии знаний, взаимопомощи и совместной работе над созданием благоприятной .NET экологии.
Открытая концепция: Открытость — это отношение, а разделение — это дух; обучение требует постоянства, прогресс требует усилий, .NET экосистема становится лучше благодаря вам и мне. by Чжань Цинь Йи

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Динамический скриптовый движок .NET, реализует в среде .NET для Windows функции и направления, аналогичные Groovy в Java. Может использоваться в интернет-проектах для динамического маркетинга (разъединение и отделение маркетингового бизнеса), создания механизмов правил и процессов, написания сценариев администрирования Windows, разработки плаги... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/chejiangyi-NScript.git
git@api.gitlife.ru:oschina-mirror/chejiangyi-NScript.git
oschina-mirror
chejiangyi-NScript
chejiangyi-NScript
master