2010-05-12 79 views
0

我試圖運行從C#中的IronRuby腳本執行的IronRuby時 「需要」 S我嘗試這個,我得到一個異常,說「沒有這樣的文件加載 - 酒吧」。文件「bar.rb」和目錄「bar」都出現在「ruby」目錄中。解決從C#

那麼,我該如何執行一個需要其他ruby文件的ruby腳本呢?我的目標是.Net 3.5。

回答

4

使用的ScriptEngine代替,並添加你的Ruby代碼文件目錄搜索路徑:

var engine = IronRuby.Ruby.CreateEngine(); 

var paths = engine.GetSearchPaths().ToList(); 
paths.Add(@"C:\Path\To\My\Ruby\Files"); // Add the path to your ruby code files 
engine.SetSearchPaths(paths); 

engine.ExecuteFile("ruby/foo.rb"); 
+0

謝謝!這與我在上面做出的一個小改變有關。 – 2010-05-12 23:13:36

+0

@Shay,@James:當有問題的文件是標準的Ruby庫時,你如何解決這個問題?我在執行'require'net/http''時遇到了上述錯誤。 – 2011-10-10 19:01:46