Ссылка на один скрипт RoslynPad из другого

То, что я хотел бы сделать, это ссылаться на один сценарий из другого.

Одним из способов сделать это может быть использование сборок. RoslynPad позволяет компилировать скрипт в сборку. Вот что я пробовал до сих пор.

Скрипт A, который компилируется в SOME_PATH\thing.dll

    class Thing
    {
        public string Name { get; set; }
    }

Сценарий Б

    #r "SOME_PATH\thing.dll"

    using static Program;

    var t = new Thing();
    t.Name = "TEST";
    t.Name.Dump();

Это приводит к ошибке "Тип или пространство имен" Вещи "не может быть найдено...", поэтому я попробовал следующее.

    #r "SOME_PATH\thing.dll"

    var t = new Program.Thing();
    t.Name = "TEST";
    t.Name.Dump();

Это привело к следующей ошибке "Имя типа" Thing "не существует в типе" Program "".

Есть ли способ "Скомпилировать и сохранить сборку", а затем ссылаться на него из другого скрипта? Или есть более прямой способ перекрестных ссылок между скриптами?

1 ответ

Решение

То, что вы ищете, это #load директива:

#load "Path\To\ScriptA.csx"

var t = new Thing();

Вы можете прочитать больше о варианте сценария C# в Roslyn wiki. Обратите внимание, что не все, что имеет отношение к RoslynPad, которое, в отличие от интерактивного окна C#, не является REPL.

Другие вопросы по тегам