【问题标题】:IronRuby error: Microsoft.Scripting.Actions.Calls.OverloadInfo (trying to port MEF)IronRuby 错误:Microsoft.Scripting.Actions.Calls.OverloadInfo(尝试移植 MEF)
【发布时间】:2012-11-15 05:47:41
【问题描述】:

我正在尝试从允许 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 论坛上只找到了一个引用,并发送了另一个注释。但是,有没有人知道是什么原因造成的?

谢谢

【问题讨论】:

    标签: mef ironruby


    【解决方案1】:

    该错误通常是在从 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(位于 @ 987654322@) 修复了这个问题。您已签出代码并构建。

    【讨论】:

    • 我会尽快尝试一下。谢谢你的信息。
    • 我正在回复您的评论,希望您阅读答案的更新。
    • IronRuby 1.1.4 似乎已被撤销:nuget.org/packages/IronRuby 如果您想要/需要此修复程序,您必须手动构建它。 :(
    猜你喜欢
    • 1970-01-01
    • 2012-01-19
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多