Насколько выполнимо IronRuby для разработки приложений для Windows Phone 7? - PullRequest
0 голосов
/ 16 февраля 2012

Я следовал учебнику по настройке Ironruby, и это прекрасно работает. Однако, когда я пытаюсь вникнуть немного глубже, например, используя события нажатия кнопки, я получаю эту ошибку;

Could not load type 'System.Reflection.Emit.ModuleBuilder' from assembly 'mscorlib, Version=3.7.0.0, Culture=neutral, PublicKeyToken=969DB8053D3322AC'.

И мой MainPage.rb

include System
include System::Windows
include System::Windows::Controls

# Set the titles
Phone.find_name("ApplicationTitle").text = "this is the application title"
Phone.find_name("PageTitle").text = "and page title here"

# Create a new button and add to page
button = Button.new
button.content = "Click Me"
Phone.find_name("ContentPanel").children.add(button)

button.click do |s,e| # breaks here
  MessageBox.show("Button Click Works!")
end

Возможно ли в настоящее время создавать профессиональные приложения с помощью Ironruby?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2012

Проблема с использованием динамических языков в Windows Phone 7 заключается в том, что в ней отсутствует реализация System.Reflection.Emit.Тем не менее, IronRuby способен выполнять большую часть кода через интерпретатор, а не через IL, что позволяет запускать в Windows Phone 7. Однако такие вещи, как создание подклассов типов CLR и реализация интерфейсов, требуют передачи IL, поэтому эти функции взаимодействия .NETне работает в Windows Phone 7.

Для вашего конкретного примера вместо использования блока попробуйте использовать метод:

def on_button_click(s, e)
  MessageBox.show("Button Click Works!")
end

button.click.add(method(:on_button_click))

Однако, если это не работает для вас, пожалуйста, отправить вопрос .

0 голосов
/ 16 февраля 2012

Вероятно, НО я лично думаю, что единственный способ сделать профессиональную работу - использовать родную ОС.Таким образом, вы получаете наибольшую силу из того, что вам нужно сделать

...