55 votes

Roslyn est-il multiplateforme ?

Je m'intéresse à Roslyn depuis un certain temps déjà, et je suis curieux et enthousiaste à son sujet. Une chose que j'ai remarquée est qu'ils ont mentionné que le compilateur est réécrit en code géré. Cela soulève la question de savoir si Roslyn est capable de fonctionner sur des machines virtuelles non .NET, comme Mono.

Je voudrais vraiment J'aimerais intégrer des scripts C# à l'aide de Roslyn dans mes jeux vidéo et utiliser de nombreuses autres fonctionnalités dans mes applications, mais je me demande si l'utilisation de Roslyn n'empêchera pas l'exécution sous Mono.

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

Pour clarifier, je suis intéressé à la fois par le fait de savoir si l'assemblage géré peut fonctionner sur mono, et s'il peut générer des assemblages que mono peut exécuter.

30voto

Justin Points 5321

Bien que ce soit la chose la plus éloignée 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 chez BUILD.

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

22voto

Eric Lippert Points 300275

Je m'intéresse à Roslyn depuis un certain temps déjà, et je suis curieux et enthousiaste à son sujet.

Je suis heureux de l'entendre !

Une chose que j'ai remarquée est qu'ils ont mentionné que le compilateur est réécrit en code géré.

Correct. Les parties C# sont entièrement écrites en C#, et la plupart des parties VB sont écrites en VB, avec un peu de C#.

Cela soulève la question de savoir si Roslyn est capable de fonctionner sur des machines virtuelles non .NET, comme Mono.

Poser la question, c'est donner une explication qui, en fait, n'explique rien. Par exemple, si je vous demande pourquoi le beurre est mou et que vous répondez "le beurre est mou parce qu'il est fait d'atomes mous", vous avez alors a contourné la question que je t'ai demandé. Je n'ai rien appris de nouveau et vous n'avez rien expliqué. La plupart des gens utilisent l'expression "begged the question" pour signifier "les circonstances font que cette question doit être soulevée à ce moment précis", mais ce n'est pas du tout ce que signifie cette expression.

Roslyn fonctionnera-t-il avec Mono ?

Bien sûr, je ne parle plus au nom de l'équipe de Roslyn. Mais quand j'étais dans l'équipe de Roslyn, c'était la chose la plus éloignée de notre esprit. Si c'est le cas, tant mieux. Mais ce scénario n'est certainement pas un scénario de conception pour Roslyn et quand je suis parti, l'équipe n'avait pas prévu de tester ce scénario.

Quelqu'un a-t-il essayé d'exécuter Roslyn sur Mono ?

Je ne l'ai certainement pas fait.

Roslyn peut-il générer des assemblages que mono peut exécuter ?

Je ne sais pas. Encore une fois, ce n'est pas un scénario de conception.

Une question que vous n'avez pas posée :

Existe-t-il un endroit où je peux poser cette question et obtenir une réponse de quelqu'un qui hace parler pour l'équipe de Roslyn ?

Oui. Le forum CTP de Roslyn.

http://social.msdn.microsoft.com/forums/en-us/roslyn

17voto

knocte Points 4320

Comme @Govert l'a déjà mentionné dans un commentaire, si vous souhaitez intégrer des fonctionnalités de script C#, vous devez simplement utiliser la bibliothèque/outil équivalent à Mono : Mono-Csharp. (D'autant plus que, même si Roslyn podría fonctionne sous Mono, sa licence peut vous en interdire l'utilisation).

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 à son 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 ton jeu va déchirer !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X