2012-11-15 28 views
1

我想从允许IronRuby导入/导出MEF零件的博客文章中升级一些4年前的代码。IronRuby错误:Microsoft.Scripting.Actions.Calls.OverloadInfo(尝试移植MEF)

的代码是:https://github.com/JogoShugh/IronRubyMef

不幸的是,试图运行时,我得到这个错误:

Method not found: 'Microsoft.Scripting.Actions.Calls.OverloadInfo[] 
Microsoft.Scripting.Actions.Calls.ReflectionOverloadInfo.CreateArray 
(System.Reflection.MemberInfo[]) 

我只找到一个参照本上IronRuby的论坛,并派出另注。但是,其他人有什么想法可能会导致这种情况?

谢谢

回答

3

从ruby脚本调用Object.new时,通常会导致该错误。当然,IronRuby 1.1.3似乎有一个bug,如果你使用Object.methods,它实际上会列出:new,但是它在调用时失败。

的修补程序有点简单,只需预先准备给你的Ruby程序初始化,任何需要调用之前:

class System::Object 
    def initialize 
    end 
end 

requires 'some/module' 

# Rest of your code... 

现在,当任何脚本调用Object.new,它会工作correctly.I写了一关于这个问题的帖子:http://marcel.bowlitz.com/continuous-integration/custom-resources-in-visual-studio-test-projects
更新: IronRuby 1.1.4(找到http://github.com/IronLanguages/main)修复此问题。你有检查代码和构建。

+0

我会尽快给你一个尝试。谢谢你的信息。 – JoshGough

+0

我对您的评论作出了回应,希望您阅读答案的更新。 –

+0

IronRuby 1.1.4似乎已被撤销:https://www.nuget.org/packages/IronRuby/如果您想要/需要此修复程序,则必须手动构建它。 :( –