web-dev-qa-db-fra.com

Comment utiliser le compilateur Roslyn C # avec Visual Studio 2015?

J'ai un peu de confusion à propos de roslyn.

Ce que j'ai fait: j'ai installé l'édition communautaire vs 2015 et téléchargé en extensibilté> télécharger la plateforme de compilation sdk.

J'ai donc créé une application console simple: exemple du monde bonjour.

Eh bien maintenant, je m'attends à choisir le compilateur c # entre celui par défaut vs2015 et roslyn ..., mais je n'ai pas trouvé une telle option. Ma première question est donc: comment sélectionner la version du compilateur c #?

Deuxièmement, j'ai téléchargé master-roslyn et je construis, puis j'ai trouvé csc.exe, et bien les choses étranges sont que si je lance l'exe, j'obtiens la version 42.42.42.42 du compilateur c #. ???? Droite?

Ensuite, j'ai suivi quelques tutoriels, mais tout est utile: pour charger une source à partir d'un fichier texte ou de chaînes de caractères et analyser ou modifier l'arborescence de syntaxe, puis compiler en var.

Eh bien, à ce stade, je suis confus ... Donc:

Qu'est-ce que Roslyn exactement? Un méta-compilateur? Cela signifie que je peux changer mon code au moment de l'exécution, tout comme Reflection? Deuxièmement: comment compiler avec vs2015 avec csc par défaut ou choisir roslyn? troisième: Si je crée une version personnalisée de roslyn Comment puis-je compiler ma source en utilisant Vs2015? Qui sait si csc.exe est roslyn? Aucune aide ou ligne de commande n'imprime le nom de code.

Merci

28
LXG

Il semble donc que vous ayez quelques questions:

Qu'est-ce que Roslyn?

Roslyn est le nouveau compilateur par défaut à l'intérieur de Visual Studio 2015. Si vous créez et exécutez des applications dans Visual Studio 2015, elles sont compilées avec le compilateur Roslyn. Vous pourrez profiter de toutes les nouvelles fonctionnalités C # 6 qui ne sont disponibles que dans le nouveau compilateur.

Si vous utilisez VS2015, Roslyn a entièrement remplacé l'ancien compilateur et pour autant que je sache, vous ne pouvez pas utiliser l'ancien compilateur dans VS 2015.

Roslyn est également une plate-forme qui vous permet de créer des programmes qui peuvent modifier, interpréter et comprendre d'autres programmes. Ce n'est pas vraiment destiné à vous permettre d'écrire du code qui se modifie (bien que ce soit probablement possible dans une certaine mesure).

Les cas d'utilisation courants de Roslyn sont les suivants:

  1. Build Code Analyzers qui fournissent des erreurs et des avertissements dans Visual Studio.
  2. Création d'extensions pour Visual Studio qui comprennent le code source.
  3. Construire d'autres outils qui comprennent ou exécutent le code source. Exemple: ScriptCS - Script avec du code C #.

Pour utiliser Roslyn à ces fins, vous tirez vers le bas le Microsoft.CodeAnalysis packages de NuGet. Vous pouvez utiliser ces packages pour analyser le code, analyser les arbres de syntaxe, analyser les symboles ou compiler le code et émettre IL.

Si vous souhaitez en savoir plus sur Roslyn, j'ai commencé une série intitulée Learn Roslyn Now qui pourrait vous intéresser.

Puis-je remplacer le compilateur?

Oui, mais je ne suis pas convaincu que ce soit une excellente idée en dehors de tester les changements que vous souhaitez apporter à Roslyn. Vous pouvez dérouler Roslyn depuis GitHub et suivre ces instructions pour construire et exécuter Roslyn à partir de Visual Studio.

Si vous suivez ces instructions, vous pourrez exécuter le projet Roslyn avec F5. Il démarrera une nouvelle instance de Visual Studio qui utilise votre compilateur personnalisé. C'est ainsi que les personnes extérieures à Microsoft apporteront désormais des fonctionnalités au compilateur. (Auparavant, vous ne pouviez pas déployer votre compilateur personnalisé dans Visual Studio, mais ils ont corrigé cela dans Visual Studio Update 1).

38
JoshVarty

Roslyn, c'est deux choses:

  1. Une API qui vous permet de voir les "choses du compilateur" comme les arbres de syntaxe et les symboles.
  2. Un nouveau csc.exe implémenté au sommet # 1.

Si vous voulez apporter des modifications au compilateur et l'utiliser pour construire, jetez un œil à ces instructions si vous n'avez pas ' t déjà. Il existe différentes façons de créer votre propre version de csc.exe, puis de l'utiliser pour créer quelque chose. Mais il n'y a pas de dialogue "choix" comme vous le recherchez.

10
Jason Malinowski

Roslyn est le compilateur par défaut de Visual Studio 2015. Donc, si vous installez VS2015, vous utilisez déjà Roslyn.

Roslyn est un nom de code pour . NET Compiler Platform , et il fournit des compilateurs open source C # et Visual Basic. Le projet est disponible sur github .

2
Marcello