ASP.NET Core : Tests unitaires d’une application MVC avec MsTest V2

ASP.NET Core apporte une refonte complète de la solution de développement Web de Microsoft. Le recours à un nouvel environnement d’exécution (DNX) et son architecture entrainent une incompatibilité avec de nombreux outils.

aspnetcore

En effet, si vous développez un projet ASP.NET Core qui utilise uniquement le CoreCLR, vous ne devez qu’utiliser les dépendances qui offrent une prise en charge du CoreCLR.

Depuis l’annonce de .NET Core, de nombreux éditeurs de librairies se sont activés pour offrir une prise en charge de cette version, c’est notamment le cas des outils de tests, dont MSTest.

Microsoft a publié il y a quelques semaines une préversion de la V2 de MsTest, qui introduit une architecture unifiée et apporte une prise en charge de .NET Core. Dans le cadre de ce billet de blog, nous verrons comment mettre en place des tests unitaires dans un projet ASP.NEt MVC Core avec MSTest V2.

Nous allons dans un premier temps créer une application ASP.NET Core en utilisant le modèle Web Application.

Lire la suite

« ASP.NET et Web Tools 2012.2 » sort en RC, avec de nouvelles fonctionnalités pour WebForms, MVC, WebAPI et SignalR

« ASP.NET et Web Tools 2012.2 » sort en RC, avec de nouvelles fonctionnalités pour WebForms, MVC et WebAPI

Le Web évolue rapidement, et Microsoft est conscient de cela. L’éditeur a ainsi adopté un cycle de mise à jour pour ASP.NET plus rapide que celui de Visual Studio.

La société compte donc publier une mise à jour pour sa plateforme de développement Web ASP.NET en début d’année prochaine.

Les développeurs qui veulent commencer à « jouer » avec les nouvelles fonctionnalités de cette mise à jour peuvent déjà télécharger sa version Release Candidate (RC) qui vient d’être publiée par les équipes ASP.NET et Visual Web Developer de Microsoft.

Lire la suite

Entity Framework Code First : activer la migration automatique

Pendant le développement ou le cycle de vie d’une application, le développeur est très souvent confronté à des situations pouvant entrainer des modifications de son modèle objet et de la base de données. Avec Entity Framework, cette tâche peut s’avérer assez complexe et voir même frustrant pour certains.

Une des nouveautés les plus intéressantes qu’apporte Entity Framework 4.3 est la migration pour les mises à jour de la base de données.

Cette fonctionnalité offre aux développeurs des outils permettant d’appliquer avec souplesse et facilité des mises à jour à la base de données à partir des modifications apportées à l’application.

Lire la suite

Visual Studio 11 : les versions Express seront disponibles en quatre éditions

Contrairement aux versions Express précédentes qui étaient disponibles en fonction des langages de programmation (C# Express, Visual Basic Express, etc.), pour Visual Studio 11, elles seront publiées en fonction des plateformes avec des outils adaptés pour cibler chacune.

Les versions Express sont des déclinaisons gratuites, allégées de Visual Studio intégrant des fonctionnalités et outils de bases. Les différentes éditions Express à venir avec Visual Studio 11 seront :

Visual Studio 11 Express pour Windows 8 ;
Visual Stduio 11 Express pour le Web ;
Visual Studio 11 Express pour Azure ;
Visual Studio 11 Express pour Windows Phone.

Chaque édition supportera l’ensemble des langages .NET et Web à savoir C#, Visual Basic, F#, C++ et JavaScript. Visual Studio 11 Express pour Windows 8 par exemple permettra la conception des applications Metro fondées sur WinRT.

Visual Studio 11 Express pour Windows Phone sera publiée avec la prochaine mise à jour Windows Phone 8, de même que pour Azure, afin de prendre en charge les nouvelles fonctionnalités et améliorations de ces plateformes.

Par ailleurs, LightSwitch, qui permet de développer rapidement des applications métiers sera désormais intégré par défaut dans Visual Studio 11.

Les exigences matérielles de Visual Studio 11 seront pareilles que celles de Visual Studio 10, à la différence que celui-ci fonctionnera uniquement sur Windows 7 ou Windows 8. Les applications managées cibleront par défaut le Framework .NET 4.5 et les applications natives VC11, ce qui suppose qu’elles ne fonctionneront que sur Windows Vista et versions supérieures.

Néanmoins, les développeurs qui veulent publier leurs applications managées sur Windows XP ou Windows Server 2003 pourront changer la cible pour le Framework .NET 4.0. Pour les applications natives, ils devront se retourner vers Visual Studio 2010.

Visual Studio est actuellement disponible en version Beta. La Release Candidate (RC) sera probablement publiée la première semaine de juin avec la Preview de Windows 8

Internationalisation d’une application ASP.NET MVC 3 Razor part 3 : Mécanisme de sélection de la langue dans l’IU

Dans les parties précédentes, nous avons introduit l’internationalisation sur la plateforme .NET et nous avons vu comment procéder à la localisation des vues, des messages d’erreur de validation et des attributs Display dans le modèle.

Cependant, jusqu’ici, lors de nos tests, vous pouvez vous rendre compte que notre application ne dispose d’aucun mécanisme permettant à un l’utilisateur à partir de l’interface de choisir une langue ou de basculer d’une langue à une autre à tout moment.

Cet aspect de l’internationalisation d’une application Web ASP.NET MVC 3 Razor fera l’objet de ce billet de blog.

Lire la suite

Internationalisation d’une application ASP.NET MVC 3 Razor Part 1 : ressources et vues

Plusieurs articles sont déjà disponibles sur developpez.com ou sur le Web qui traitent de l’internationalisation d’une application Web ASP.NET. Cependant, pour ASP.NET MVC, il en existe très peu, et il n’y a pas de méthode reconnue comme standard pour écrire un site multilingue avec le framework Web de Microsoft.

En me basant donc du meilleur que j’ai pu tirer de quelques articles par-ci par-là et mon expérience, j’ai mis au point une solution qui répondait à mes besoins pour une application ASP.NET MVC Razor. Cette méthode n’est pas standard, et peut-être pas la meilleure, mais elle répond pleinement aux exigences de mon projet et aux objectifs que je voulais atteindre.

Lire la suite

Internationalisation d’une application ASP.NET MVC 3 Razor part 2 : messages d’erreur de validation et DisplayAttribute

Dans mon précédent billet de blog, nous nous sommes familiarisés avec les différents concepts qui sont liés à l’internationalisation d’une application sur l’écosystème .NET. Nous avons également procédé à la création des fichiers de ressources et obtenu un premier aperçu de notre application.

Cependant, avec ASP.NET MVC, il est possible de définir les messages des erreurs de validation dans le modèle, au sein des attributs fournis par l’espace de noms DataAnnotations utilisé pour la validation des données utilisateur. Il est également possible de définir les textes par défaut qui seront affichés dans les vues pour les intitulés des champs des formulaires.

Si vous avez donc défini ces infirmations dans votre modèle, vous allez vous rendre compte que ce que nous avons fait jusqu’ici ne permet pas de localiser ces champs texte.

Nous verrons donc dans ce billet comment internationaliser les messages des erreurs de validation et les intitulés des champs des formulaires définis dans le modèle.

Lire la suite

ASP.NET MVC : résoudre l’erreur « A circular reference was detected while serializing an object of type… »

En travaillant sur une application Web ASP.NET MVC dans laquelle j’utilise Entity Framework 4 Code First, j’ai eu l’erreur suivante : «A circular reference was detected while serializing an object of type… » lorsque j’ai essayé de retourner une classe Entité au client comme un document JSON.

Lire la suite

[Article]Présentation de Nuget, le gestionnaire de packages .NET

La conception d’une application .NET de nos jours nécessite de plus en plus l’utilisation des bibliothèques externes. Pour faire appel à celles-ci, le développeur devait dans un premier temps trouver le site où télécharger le composant, vérifier si celui-ci est compatible avec sa plateforme de développement, installer la bibliothèque dans son projet, ajouter une référence à cette bibliothèque et procéder à l’édition de son fichier de configuration.

Pire, si la bibliothèque utilisée nécessite la disponibilité d’autres bibliothèques externes, le développeur est obligé de répéter ces étapes pour chaque dépendance du composant.

Ces tâches peuvent donc s’avérer assez complexes et demandent parfois des efforts considérables en temps et énergie, sans compter le suivi des mises à jour qui sont parfois fréquentes pour certains composants. La gestion des dépendances pour une application peut donc rapidement devenir un casse-tête pour le développeur.

Nuget est un gestionnaire de package .NET open source qui automatise toutes ces tâches fastidieuses pour un package externe ainsi que ses dépendances dans une application. Nous verrons, au travers de ce tutoriel, cet outil fort intéressant et comment l’utiliser pour télécharger, installer, mettre à jour des packages dans Visual Studio 2010. Nous verrons, également comment générer et publier ses propres packages Nuget.

L’article est regroupé au sein des parties suivantes :

I. Introduction

II. Description de NuGet

III. Installation de NuGet

III-A. Installation à parti du site du projet

III-B. Installation à partir de Visual Studio

IV. Utilisation de NuGet

IV-A. Utilisation à partir de la console Package Manager

IV-B. Utilisation de l’interface graphique

V. Création et Publication de son propre package NuGet

V-A. Utilisation de Nuget.exe

V-B. Création et publication d’un package avec NuGet Package Explorer

VI. Conclusion

L’article complet est disponible sur cette page.

Télécharger la version PDF (Miroir).

Télécharger la version hors-ligne (Miroir).

Bonne lecture :)

ASP.NET MVC 4 Developer Preview : jQuery Mobile, View Switcher et Browser Overriding

Dans mon précédent billet de blog, nous avons créé notre première application mobile en utilisant le nouveau Template qu’apporte ASP.NET MVC 4. Nous avons également découvert une puissance fonctionnalité introduite par le Framework Web pour le soutien des modes d’affichage.

Avec ces nouveautés, nous avons sans apporter aucune modification à nos modèles et contrôleurs, créé des vues personnalisées pour les navigateurs Desktop et les navigateurs mobiles.

Dans ce billet, nous verrons comment procéder autrement en utilisant le package Nuget JQuery.Mobile.MVC.

Lire la suite