Подтвердить что ты не робот

Является ли Рослин кросс-платформой?

Я довольно долго смотрел Roslyn, и мне это любопытно и волновать. Одна вещь, которую я заметил, это то, что они упомянули, что компилятор переписан в управляемом коде. Это ставит вопрос о том, может ли Roslyn работать на виртуальных машинах без .NET, таких как Mono.

Мне бы очень хотелось встроить скрипты С# с использованием Roslyn в мои видеоигры и использовать многие из своих других функций в моих приложениях, но мне интересно, не использует ли Roslyn возможность запускать его в Mono.

Кто-нибудь пытался запустить Roslyn на Mono? Является ли это возможным? Почему или почему нет?

Чтобы уточнить, меня интересует, может ли управляемая сборка работать на Mono и может ли она генерировать сборки, которые могут выполнять mono.

4b9b3361

Ответ 1

Несмотря на то, что она была самой удаленной от Эрика, Roslyn был выпущен как истинный Open Source (Apache 2.0) и на самом деле теперь кросс-платформенный.

Мигель де Икаса из Xamarin показал, что он работает на Mono at BUILD.

Когда Roslyn выпускает, он станет частью Mono. Они уже поддерживают ветку в репозитории Mono Git.

Ответ 2

Как уже упоминалось в комментарии @Govert в комментарии, если вы хотите внедрить возможности сценариев С#, вы должны просто использовать Mono-эквивалентную библиотеку/инструмент: Mono-Csharp. (Тем более, что даже если Roslyn может работать на Mono, его лицензия может указывать на то, что вам не разрешено.)

Этот инструмент в мире Mono существует намного раньше, чем Roslyn BTW, и является открытым исходным кодом. Здесь вы даже ведете блог о сотрудниках Microsoft и загружаете его в Nuget:

http://blog.davidebbo.com/2012/02/quick-fun-with-monos-csharp-compiler-as.html

Надеюсь, твоя игра забьет задницу!