【问题标题】:WPF App hosting/executing Ruby code via IronRubyWPF 应用程序通过 IronRuby 托管/执行 Ruby 代码
【发布时间】:2009-12-03 15:12:44
【问题描述】:

大家好,希望你们能帮助我开始使用 IronRuby。我有几个 Ruby 脚本,我想从我的 WPF 应用程序中执行(由于使用了几种我无法在本地获得的 RMagick 方法)并且我找不到任何关于我在项目中需要哪些参考的好信息。

我已安装 IronRuby 并尝试添加 Microsoft.Scripting 和 .Core,但应用程序抱怨我没有 Sub Main 方法 - IronRuby 可以在非控制台应用程序中使用吗?

谢谢, 贝基

【问题讨论】:

    标签: wpf ironruby dynamic-language-runtime


    【解决方案1】:

    当然可以在非控制台应用中使用!就是这样:)

    您需要添加对 IronRuby.dll、IronRuby.Libraries.dll、Microsoft.Scripting.dll 和 Microsoft.Scripting.Core.dll 的引用。

    然后您有多种方法来执行 IronRuby 代码或文件,例如 IronRuby.GetEngine().Execute("puts 'hello world'")IronRuby.GetEngine().ExecuteFile( "iron_ruby_file.rb").

    查看下一个资源以获取有关如何从 C# 代码执行 IronRuby 代码的更多信息:

    【讨论】:

    • 非常感谢您提供这些链接!第一个特别有用。当我收到此错误时,我遇到了这 4 个引用的问题:未知构建错误,'无法解析对程序集'Microsoft.Scripting.ExtensionAttribute,Version=0.9.5.1,Culture=neutral,PublicKeyToken=null'的依赖,因为它有没有被预装。使用 ReflectionOnly API 时,必须通过 ReflectionOnlyAssemblyResolve 事件预加载或按需加载依赖程序集。我不知道如何解决这个错误,所以我可以在我的 WPF 项目中使用 IronRuby。
    • 看来您还需要添加对 Microsoft.Scripting.ExtensionAttribute.dll 的引用。
    • 这就是我尝试过的,然后由于以下几个原因构建失败:“ExtensionAttribute”在命名空间“System.Runtime.CompilerServices”中不明确。我确定这是我正在做的愚蠢的事情,但我还没弄清楚是什么!
    • 我已经提交了一个错误,因为我得到一个失败的构建,但在将五个引用添加到一个全新的 WPF 应用程序时没有错误。 :o)
    • 需要明确的是,这个问题仅适用于 VB.NET WPF 项目; C# WPF 项目按预期工作。问题是 VB.NET 编译器没有像对待 C# 一样对待 ExtensionAttribute DLL。
    猜你喜欢
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多