2017-07-07 61 views
1

我想要做的是引用另一個腳本。從另一個引用一個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(); 

這使錯誤「類型或命名空間 '東西' 找不到.. 。「所以我嘗試了以下。

#r "SOME_PATH\thing.dll" 

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

這給出了以下錯誤「類型名'Thing'在類型'程序'中不存在」。

有沒有辦法「編譯並保存程序集」,然後從另一個腳本中引用它?或者,是否有更直接的方法來交叉腳本之間的引用?

回答

2

什麼你要找的是#load指令:

#load "Path\To\ScriptA.csx" 

var t = new Thing(); 

你可以閱讀更多有關Roslyn wiki的C#腳本變量。請注意,並非與C#交互式窗口不同的所有與RoslynPad相關的東西都不是REPL。