2009-12-03 45 views
0

嘿夥計,希望你能幫助我開始使用IronRuby。我有幾個我想從我的WPF應用程序執行的Ruby腳本(由於使用了幾個RMagick方法,我無法在本地獲得),而且我找不到任何關於項目中需要引用的信息。WPF應用程序託管/通過IronRuby執行Ruby代碼

我已經安裝IronRuby並嘗試添加Microsoft.Scripting和.Core,但該應用程序抱怨我沒有Sub Main方法 - IronRuby可以用於非控制檯應用程序嗎?

感謝, 貝基

回答

2

當然也可以在非控制檯應用程序使用!這就是它的一切:)

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

那麼你有多種方式來執行類似IronRuby.GetEngine()的IronRuby代碼或文件。執行( 「看跌期權 '世界你好'」)IronRuby.GetEngine()。ExecuteFile( 「iron_ruby_file.rb」)

看下面的資源有關如何從C#代碼執行的IronRuby代碼的詳細信息:

+0

非常感謝您的鏈接!第一個特別有用。我遇到這4個引用的問題,因爲我收到此錯誤: 未知的生成錯誤,'無法解決依賴程序集'Microsoft.Scripting.ExtensionAttribute,版本= 0.9.5.1,Culture = neutral,PublicKeyToken = null'因爲它尚未預裝。在使用ReflectionOnly API時,相關程序集必須通過ReflectionOnlyAssemblyResolve事件按需預加載或加載。 我無法解決如何解決這個錯誤,所以我可以在我的WPF項目中使用IronRuby。 – 2009-12-04 09:40:19

+0

好像您需要添加對Microsoft.Scripting.ExtensionAttribute.dll的引用。 – 2009-12-04 12:34:38

+0

這就是我所嘗試的,然後生成失敗,由於幾個: 'ExtensionAttribute'在命名空間'System.Runtime.CompilerServices'中是不明確的。 我敢肯定,這是我正在做的事情,但我還沒有想出什麼! – 2009-12-04 12:51:05