我正在尝试从允许IronRuby导入/导出MEF部件的博客文章中升级一些4岁的代码。
代码位于:https://github.com/JogoShugh/IronRubyMef
不幸的是,我在尝试运行时遇到此错误:
Method not found: 'Microsoft.Scripting.Actions.Calls.OverloadInfo[]
Microsoft.Scripting.Actions.Calls.ReflectionOverloadInfo.CreateArray
(System.Reflection.MemberInfo[])
我只在IronRuby论坛上找到了一个对此的引用,并发送了另一个注释。但是,是否有其他人知道可能导致这种情况的原因?
谢谢
答案 0 :(得分:3)
从ruby脚本调用Object.new时通常会导致该错误。当然应该工作,IronRuby 1.1.3似乎带有一个错误,如果你做Object.methods它实际上列出:new但它在调用时失败。
修复程序有点简单,在任何需要调用之前,只需将其添加到Ruby程序初始化中:
class System::Object
def initialize
end
end
requires 'some/module'
# Rest of your code...
现在,当任何脚本调用Object.new时,它将正常工作。我写了一篇关于此问题的帖子:http://marcel.bowlitz.com/continuous-integration/custom-resources-in-visual-studio-test-projects
更新: IronRuby 1.1.4(在http://github.com/IronLanguages/main中找到)修复了此问题。你有结帐代码和构建。