В основном сборки .NET/Mono собираются с использованием кода CIL, который является стандартом ECMA.
Однако вам по-прежнему необходимо запрограммировать свою игру таким образом, чтобы она не зависела от особенностей ОС.
- Не относятся к определенной сборки .NET (т.е. не WCF, потому что она имеет лишь ограниченную поддержку WCF, не WPF вообще, нет WWF)
- Не относятся к ОС конкретных библиотек DLL (т.е. нет P/Запускает в kernel32.dll и т.д.
- не использовать ОС конкретных трактов или использовать директивы препроцессора, чтобы сделать OS Specific код (да, это потребует перекомпиляции и вы, вероятно, не будет обойти это легко)
Threading on Mono имеет некоторые уловы, поэтому вам, вероятно, придется составить код конкретной платформы, используя препроцессор direct Айвз.
Честно говоря, я не вижу проблемы с перекомпиляцией кода, если это четко написано, это просто вопрос добавления нового проекта в файл решения и установки флагов препроцессора. Тогда все, что вам нужно сделать, это компилировать решение и иметь несколько библиотек DLL в папке bin. Никто никогда не говорил, что вам нужно переписать полный проект (если проект уже не закончен и не имеет какой-либо из упомянутых там зависимостей), что в этом случае ... это ваша собственная ошибка, потому что вам не нужно об этом думать до начиная разработку.
Вам просто нужно развернуть свои приложения (на iOS и т. Д.) С требуемым временем выполнения Mono. И для этого вам, возможно, понадобится что-то вроде Xamarin или проволочных вверх свой собственный Mono выполнения
Справочные ссылки: http://www.mono-project.com/Compatibility http://www.mono-project.com/MoMA
Благодарим вас за ваш совет. –
С перекомпиляцией я бы предпочел не делать этого, но, похоже, мне придется. Но использование Xamarin (коммерческого продукта) является проблемой. –
Могло ли быть лучшее решение, чтобы приложение запускало и загружало и интерпретировало что-то вроде JavaScript? Это может привести к повторному использованию кода –