Mono 5.0.0 est disponible et apporte le compilateur C# Roslyn pour activer le support C#7
Et de msbuild pour une meilleure compatibilité

Le , par Stéphane le calme, Chroniqueur Actualités
Compilateur C #

Csc : Le compilateur C # Roslyn est maintenant disponible sur Mono et s'appelle csc. C'est le même compilateur disponible sur Windows/Visual Studio avec un support complet de C # 7. msbuild et xbuild ont été mis à jour pour appeler le compilateur csc au lieu de mcs.

Le remplacement des mcs par csc dans les scripts utilisateur doit être simple, mais de petits problèmes peuvent survenir lorsque les arguments de ligne de commande acceptés par csc et les fonctionnalités ne sont pas identiques à mcs. Par exemple, csc génère des fichiers de débogage PDB (.pdb) au lieu du format MDB (.mdb) de Mono. Il ne peut pas non plus faire une signature complète sur des plateformes non Windows, utiliser le commutateur / publicign ou utiliser la signature retardée et signer l'assemblage avec l'outil sn après la build.

C # 7 ajoute plusieurs nouvelles fonctionnalités au langage C #: les variables out :
  • vous pouvez déclarer les valeurs en ligne comme arguments à la méthode où elles sont utilisées ;
  • les tuples : vous pouvez créer des types légers et sans nom qui contiennent plusieurs champs publics. Les compilateurs et les outils IDE comprennent la sémantique de ces types ;
  • la correspondance des motifs : vous pouvez créer une logique de dérivation basée sur des types arbitraires et des valeurs des membres de ces types ;
  • ref locaux et retours : les arguments de méthode et les variables locales peuvent être des références à d'autres mémoires de stockage ;
  • fonctions locales : vous pouvez nicher des fonctions dans d'autres fonctions pour limiter leur portée et leur visibilité ;
  • les expressions throw : vous pouvez ajouter des exceptions dans des constructions de code qui n'étaient pas autorisées auparavant parce que throw était une déclaration ;
  • types de retour asynchrones généralisés : les méthodes déclarées avec le modificateur asynchrone peuvent renvoyer d'autres types en plus de Task et Task <T> ;
  • améliorations de la syntaxe littérale numérique : les nouveaux jetons améliorent la lisibilité des constantes numériques.


MSBuild

L’année dernière, l’équipe responsable du développement de Mono a travaillé à l’intégration de l'outil de construction open source msbuild dans Mono. Il est maintenant disponible dans le cadre de votre installation Mono, et c'est le même MSBuild qui est utilisé sur .NET sur Windows.

Une solution qui vient résoudre de nombreuses incompatibilités auxquelles l’équipe a eu à faire face dans sa précédente implémentation xbuild.

Xbuild : La mise en œuvre historique de MSBuild de Mono, appelée xbuild, est maintenant obsolète. L’équipe encourage tout le monde à passer à la commande msbuild qui est maintenant disponible sur Mono.

Assemblages de référence : les assemblages de référence ont été mis à jour pour correspondre pleinement au jeu d'API .NET 4.6.2. Cela signifie que vous ne recevez plus d'erreurs de compilation sur les classes/méthodes manquantes lors de la construction de l'un des profils .NET via msbuild/xbuild.

Notez qu'au moment de l'exécution, certaines API que Mono n'a pas (encore) implémentées vont toujours lancer une exception.

macOS

Pile AppleTLS : l’équipe explique que le package Mono.framework distribué sur MacOS utilise maintenant la pile AppleTLS pour la mise en œuvre de son transport SSL/TLS. Cela apporte un support complet à TLS 1.2 pour SslStream et leurs différents clients Web HTTP.

Dans la préversion initiale, AppleTLS a deux problèmes connus :
  • dans certaines circonstances, les programmes utilisant AppleTLS peuvent s'arrêter et présenter une boîte de dialogue GUI demandant l'accès aux clés ;
  • SecCertificateCreateWithData et donc beaucoup de fonctions X.509 se comportent différemment lorsqu'ils reçoivent un certificat invalide sur 10.9, 10.11 et 10.12.


Environnement d’exécution

Utilisation de la mémoire : les améliorations apportées à la représentation de l'exécution du système de type devraient générer une économie de mémoire de 5 % dans la plupart des charges de travail, selon les ingénieurs. Cela a été réalisé en utilisant une représentation plus efficace pour les tableaux et les instances génériques.

Un sac de propriétés linéarisables a été ajouté pour remplacer le mécanisme actuel de champs rares dans les métadonnées d'exécution.

Source : note de version

Voir aussi :

L'intégration du compilateur Roslyn à Mono avance à grands pas, le moteur Roslyn soutenant les EDI de Mono bientôt disponible pour des tests


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Offres d'emploi IT
Développeur Front End F/H
Zenika - Pays de la Loire - Nantes (44000)
Développeur(se) Web Full-Stack
Mojocom - Rhône Alpes - Les Gets (74260)
Lead Développeur Javascript (H/F)
Voyages-sncf.com - Ile de France - La Défense

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil