Roslyn (alias .NET Compiler Platform) fournit des compilateurs open-source C # et Visual Basic avec des API d'analyse de code riche. Il permet de créer des outils d'analyse de code avec les mêmes API que celles utilisées par Visual Studio.
J'essaie d'exécuter le projet Asp.net MVC récupéré du contrôle de source TFS. J'ai ajouté toutes les références d'assembly et je suis capable de construire et de compiler avec succès sans aucune erreur ni avertissement. Mais j'obtiens l'erreur suivante dans le navigateur: Impossible de trouver une partie du chemin «C: \ …
Dans Visual Studio 2015 ou version ultérieure, je peux ouvrir la `` fenêtre interactive C # '' et exécuter du code: > 5 + 3 8 C'est mignon. Maintenant, comment puis-je interagir avec mon code - mes classes? Supposons que j'ai un projet ouvert. > new Cog() (1,5): error CS0246: …
J'ai regardé le code source sur http://referencesource.microsoft.com/ , et il semble que tout le code source est en C #. J'ai également regardé le code source de la nouvelle plateforme de compilateur C # ( Roslyn ), et il est également en C #. Comment est-ce possible? Le compilateur de …
J'écrivais un test unitaire sur un morceau de code qui retournait JSON. Le type qu'il renvoie est un type anonyme, j'ai donc pensé que pour vérifier les valeurs dessus, je viens de convertir l'objet en a dynamicpour faire mes assertions. Cependant, lorsque je fais cela, ma construction échoue mais je …
Je teste Visual Studio 2015 avec C # 6.0 mais les fonctionnalités du langage ne fonctionnent pas. Dans une application Web MVC, le code suivant se compile: if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName)) { // More logic here... } Cependant, lorsque j'exécute l'application via Debug et IIS Express, j'obtiens l'erreur suivante: CS1525: terme d'expression …
J'ai jeté un coup d'œil à Roslyn CTP et, bien qu'il résout un problème similaire à l' API de l'arbre d'expression , les deux sont immuables, mais Roslyn le fait d'une manière assez différente: Expressionles nœuds n'ont aucune référence au nœud parent, sont modifiés à l'aide de a ExpressionVisitoret c'est …
En C # 6, vous pouvez utiliser l' nameof()opérateur pour obtenir une chaîne contenant le nom d'une variable ou d'un type. Est-ce évalué au moment de la compilation ou à l'exécution via une API Roslyn?
D'après un communiqué de presse publié hier sur InfoWorld concernant le nouveau Microsoft Roslyn : L'avantage le plus évident de ce type de compilateur "déconstruit" est qu'il permet à l'ensemble du processus de compilation-exécution d'être appelé à partir des applications .Net. Hejlsberg a présenté un programme C # qui transmettait …
Je souhaite utiliser C # 6 dans mon projet (propagation nulle, autres fonctionnalités). J'ai installé VS 2015 sur mon PC et cela fonctionne à merveille et crée un code de test comme var user = new SingleUserModel(); //all model fields are null var test = user.User?.Avatar?["blah"]; Mais lorsque je pousse …
J'ai modifié l'exemple fourni avec la nouvelle version de Roslyn qui a été publiée hier pour utiliser dynamic et ExpandoObject mais j'obtiens une erreur de compilation que je ne sais pas comment corriger. L'erreur est: (7,21): erreur CS0656: membre requis du compilateur manquant «Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create» Vous ne pouvez pas encore utiliser …
Après avoir migré mon projet de VS2013 vers VS2015, le projet ne se construit plus. Une erreur de compilation se produit dans l'instruction LINQ suivante: static void Main(string[] args) { decimal a, b; IEnumerable<dynamic> array = new string[] { "10", "20", "30" }; var result = (from v in array …
J'essaie de créer une application Web à l'aide de Visual Studio 2015 et .NET 4.5.1. Lorsque je publie le site Web, Visual Studio crée un dossier nommé roslyn. Je sais qu'il est utilisé pour compiler du code à la volée, mais malheureusement, mon hébergeur ne me permet pas d'exécuter le …
Considérons cette méthode asynchrone très simple: static async Task myMethodAsync() { await Task.Delay(500); } Lorsque je compile ceci avec VS2013 (pré-compilateur Roslyn), la machine à états générée est une structure. private struct <myMethodAsync>d__0 : IAsyncStateMachine { ... void IAsyncStateMachine.MoveNext() { ... } } Lorsque je le compile avec VS2015 (Roslyn), …
J'ai testé ce code sur https://dotnetfiddle.net/ : using System; public class Program { const float scale = 64 * 1024; public static void Main() { Console.WriteLine(unchecked((uint)(ulong)(1.2 * scale * scale + 1.5 * scale))); Console.WriteLine(unchecked((uint)(ulong)(scale* scale + 7))); } } Si je compile avec .NET 4.7.2, j'obtiens 859091763 7 Mais …
Après avoir lu cette question sur HNQ, j'ai continué à lire sur les types de référence Nullable en C # 8 et j'ai fait quelques expériences. Je suis très conscient que 9 fois sur 10, voire plus souvent, quand quelqu'un dit "J'ai trouvé un bug de compilation!" c'est en fait …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.