I am self-hosting IronRuby and want to use a .NET assembly "Math.dll" which uses the "Math"-namespace. I can use other assemblies but not this one:
require "Math.dll"
require "Unsafe.dll"
consts = Math.constants
#consts = Unsafe.constants
consts.each { |const|
System::Console.WriteLine( const)
}
It only returns "PI" and "E" given by the ruby math module. Using the other assembly returns the .net classes defined in it. Both assemblies are used by the hosting program in the same way.
DLR-version: 1.1.0.1 Ironruby-version: 1.1.0.0, 1.1.3.0 and 1.1.4.0(6th juli 2014)
Workaround for this problem but not a general solution:
In the IronRuby.Library project change in the line
in RubyMath.cs, or
in Initializers.Generated.cs, the "Math" string (e.g. "Math__").
Now you could combine it:
I don't know if there are any dependencies affected.