web-dev-qa-db-fra.com

Est-ce que Roslyn multiplateforme?

Je regarde Roslyn depuis un certain temps maintenant, et je suis curieux et excité à ce sujet. Une chose que j'ai remarquée, c'est qu'ils ont mentionné que le compilateur était réécrit en code managé. Cela soulève la question de savoir si Roslyn est capable de s'exécuter sur des machines virtuelles non .NET, telles que Mono .

J'aimerais vraiment aimer incorporer des scripts C # à l'aide de Roslyn dans mes jeux vidéo et utiliser bon nombre de leurs autres fonctionnalités dans mes applications, mais je me demande si vous utilisez Roslyn, sa capacité à fonctionner en mono sera interrompue.

Quelqu'un a-t-il essayé d'exécuter Roslyn sur Mono? C'est possible? Pourquoi ou pourquoi pas?

Pour clarifier, je suis intéressé à la fois si l'assembly managé peut fonctionner sur Mono et s'il peut générer des assemblys que mono peut exécuter.

55
mirhagk

Bien que ce soit le plus éloigné de l'esprit d'Eric, Roslyn a été publié en tant que véritable Open Source (Apache 2.0) et est en fait maintenant multiplateforme.

Miguel de Icaza de Xamarin l'a montré fonctionnant sur Mono à BUILD.

Lorsque Roslyn sortira, il fera partie de Mono. Ils sont déjà maintenir une succursale au repo Mono Git .

30
Justin

Comme @Govert l'a déjà mentionné dans un commentaire, si vous souhaitez intégrer des capacités de script C #, vous devez simplement utiliser la bibliothèque/l'outil Mono-équivalent: Mono-Csharp. (Surtout parce que, même si Roslyn pouvait fonctionner sur Mono, sa licence peut dicter que vous n'êtes pas autorisé à le faire.)

Cet outil dans le monde mono a existé bien avant Roslyn BTW et est open source. Ici, vous avez même un employé de Microsoft qui blogue à ce sujet et le télécharge sur Nuget:

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

J'espère que votre jeu va botter le cul!

17
knocte