Ссылка на один скрипт 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.