NoMethodException


#1

I am running IronRuby 1.1.3 as installed from NuGet. It is loading a
very simple script that creates a class and calls a method on that
class. This exception is thrown:


System.MissingMethodException: Method not found:
‘Microsoft.Scripting.Actions.Ca
lls.OverloadInfo[]
Microsoft.Scripting.Actions.Calls.ReflectionOverloadInfo.Crea
teArray(System.Reflection.MemberInfo[])’.
at IronRuby.Builtins.RubyClass.GetConstructors(Type type)
at
IronRuby.Builtins.RubyClass.BuildObjectConstructionNoFlow(MetaObjectBuilde
r metaBuilder, CallArguments args, String methodName)
at
IronRuby.Builtins.RubyClass.BuildObjectConstruction(MetaObjectBuilder
meta
Builder, CallArguments args, String methodName)
at IronRuby.Runtime.Calls.RubyMemberInfo.BuildCall(MetaObjectBuilder
metaBuil
der, CallArguments args, String name)


The ruby code being loaded:

class MyClass

def run
puts 'Hello, World!'

end

end

hello = MyClass.new


I have all of the required references set IronRuby, IronRuby.Libraries,
IronRuby.Libraries.Yaml, Microsoft.Scripting,
Microsoft.Scripting.Metadata, Microsoft.Dynamic.

I downloaded the binaries and referenced those files directly and still
same issue.

I installed the IronRuby package as well and from the command promp I
get the same error. Any idea what’s going on here?

There was another thread with this same issue but the system told me to
start a new topic as that one was old.

Bill


#2

Can you give an example of the ruby code that is failing?

The error indicates IronRuby is having trouble finding an appropriate
constructor to call for a C# class
Can you give some more information about the class you’re trying to
instantiate? eg

  • What constructors does it have
  • Are they private/protected
  • What parameters does each have
  • anything else that might be relevant

Regards

Orion