How do I automatically add dlls to ironruby engine

411 Views Asked by At

I want to automatically add loaded dll of the current application into ironruby engine so that each time I execute a script I won't specify the "require" script anymore.

Thanks a lot.

2

There are 2 best solutions below

1
On

I did this in September 2008 using ScriptRuntime.LoadAssembly. Here's my original code

// this part may have changed, there's probably a different
// way to get the ScriptRuntime from the RubyEngine or somesuch
var runtime = new ScriptRuntime( Ruby.CreateRuntimeSetup() ); 

// give ruby access to all our assemblies
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
    runtime.LoadAssembly(assembly);
}
1
On

You can use IronRuby.Ruby.RequireFile in order to load a script file only once.

For example, the next line loads the CSV library from the standard library folder:

IronRuby.Ruby.RequireFile(engine, @"D:\IronRuby\lib\ruby\1.8\csv.rb");

Hope it helps,

Shay.