Для решения задач в окружении Windows с использованием .NET, аналогичных возможностям Groovy в Java. В интернет-проектах можно использовать его для выполнения различных функций, таких как динамическое управление маркетинговыми кампаниями (разделение бизнес-логики и её вынесение за рамки основной программы), правила управления, процессы, операционные скрипты для Windows, разработка плагинов через исходный код и т.д.
Включает в себя три метода запуска: через исполняемый файл (main), через сборку программ, и через домены приложений.
BSF.BaseService.NScript.exe```c# Запуск exe файла
Все изменения были сделаны согласно правилам перевода, чтобы обеспечить корректность и естественность текста на русском языке.### Пример запуска через main ###
*Описание:*
Пример запуска скрипта через команду exe
1. Нажмите на "Run.bat"
2. Нажмите на "bsf.baseservice.nscript.exe" для редактирования и отладки скриптов.
*Скриншот:*

*Ссылка на скачивание:*
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)
##Пример записи основного файла 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 )