CS-Script
CS-Script — это система скриптов на основе CLR, которая использует C# в качестве языка программирования, совместимого с ECMA.
Это одно из самых зрелых решений для написания скриптов на C#. Оно стало доступно общественности в 2004 году, всего через два года после первого выпуска .NET, и стало первой комплексной платформой для создания скриптов для .NET.
CS-Script поддерживает как размещённое, так и автономное выполнение. Это позволяет использовать движок сценариев в качестве альтернативы PowerShell на чистом C#, а также расширять приложения .NET с помощью скриптов C#, выполняемых во время выполнения размещённым движком сценариев.
С помощью CS-Script можно легко переключать базовую технологию компиляции, не затрагивая кодовую базу. В настоящее время поддерживаются компиляторы Mono, Roslyn и CodeDOM.
CS-Script также предлагает комплексную интеграцию с наиболее распространёнными инструментами разработки:
Он может работать на Win, Linux и Mac и совместим с .NET, Mono и .NET Core.
За долгую историю CS-Script его загрузили только через менеджер плагинов Notepad++ x86 более раз (см. статистику).
Статистика не включает загрузки x64 и загрузки после того, как Notepad++ прекратил поставлять редактор с включённым менеджером плагинов x86.
Для получения подробной информации о CS-Script перейдите в документацию проекта.
Ниже приведён простой пример кода, чтобы дать вам представление о продукте:
Выполнение скрипта из оболочки
Обновление тегов медиафайлов. Обратите внимание, что скрипт использует необязательный бесклассовый макет.
Файл скрипта: mp4_retag.cs
//css_nuget taglib
using System;
using System.IO;
string source = @"\\media-server\tv_shows\Get Smart\Season1";
void main()
{
foreach (string file in Directory.GetFiles(source, "*.mp4"))
{
string episode_name = Path.GetFileNameWithoutExtension(file);
var mp4 = TagLib.File.Create(file);
mp4.Tag.Title = episode_name;
mp4.Save();
Console.WriteLine(episode_name);
}
}
Выполните файл сценария непосредственно в командной строке без сборки исполняемой сборки:
C:\Temp>cscs mp4_retag.cs
Размещение движка сценариев
dynamic script = CSScript.LoadCode(
@"using System.Windows.Forms;
public class Script
{
public void SayHello(string greeting)
{
MessageBox.Show(""Greeting: "" + greeting);
}
}")
.CreateObject("*");
script.SayHello("Hello World!");
//-----------------
var product = CSScript.CreateFunc<int>(@"int Product(int a, int b)
{
return a * b;
``` ```
int result = product(3, 4);
//-----------------
var SayHello = CSScript.LoadMethod(
@"using System.Windows.Forms;
public static void SayHello(string greeting)
{
MessageBoxSayHello(greeting);
ConsoleSayHello(greeting);
}
static void MessageBoxSayHello(string greeting)
{
MessageBox.Show(greeting);
}
static void ConsoleSayHello(string greeting)
{
Console.WriteLine(greeting)
}")
.GetStaticMethod("*.SayHello" , "");
SayHello("Hello again!");
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )