从另一个

时间:2017-07-07 20:34:12

标签: roslynpad

我想做的是引用另一个脚本。

实现这一目标的一种方法可能是使用程序集。 RoslynPad允许将脚本编译为程序集。这是我到目前为止所尝试的内容。

脚本A,编译为SOME_PATH \ thing.dll

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

脚本B

    #r "SOME_PATH\thing.dll"

    using static Program;

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

这给出了错误“无法找到类型或名称空间'Thing'......”所以我尝试了以下内容。

    #r "SOME_PATH\thing.dll"

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

这给出了以下错误“类型名称'Thing'在'Program'类型中不存在。”

有没有办法“编译并保存程序集”,然后从另一个脚本引用它?或者,是否有更直接的方法来交叉脚本之间的引用?

1 个答案:

答案 0 :(得分:2)

您正在寻找的是#load指令:

#load "Path\To\ScriptA.csx"

var t = new Thing();

您可以在Roslyn wiki中详细了解C#脚本变体。请注意,与C#Interactive窗口不同,并非与RoslynPad相关的所有内容都不是REPL。