ASP.NET et Web Tools 2013.2 pour Visual Studio 2013 notes de publication

par Microsoft

Notes d'installation

ASP.NET et Web Tools pour Visual Studio 2013.2 sont groupés dans le programme d’installation main et peuvent être téléchargés dans le cadre de Visual Studio 2013 Update 2.

Documentation

Des tutoriels et d’autres informations sur ASP.NET et Web Tools pour Visual Studio 2013.2 sont disponibles sur le site web ASP.NET.

Configuration logicielle

ASP.NET et Web Tools pour Visual Studio 2013.2 nécessite Visual Studio 2013.

Nouvelles fonctionnalités dans ASP.NET et Web Tools pour Visual Studio 2013.2

Les sections suivantes décrivent les fonctionnalités qui ont été introduites dans la version.

Un ASP.NET modèles de projet

  • Mises à jour à ASP.NET modèles de projet pour prendre en charge la confirmation de compte et la réinitialisation du mot de passe.
  • Mettez à jour API Web ASP.NET modèle pour prendre en charge l’authentification à l’aide de comptes d’organisation locaux.
  • Le modèle SPA ASP.NET contient désormais l’authentification basée sur MVC et les vues côté serveur. Le modèle a un contrôleur WebAPI qui est accessible uniquement aux utilisateurs authentifiés.

Prise en charge de SSL lors du lancement d’applications web sur IIS Express

Pour éliminer l’avertissement de sécurité lors de la navigation et du débogage de HTTPS sur localhost, nous avons ajouté une boîte de dialogue permettant à Internet Explorer et Chrome d’approuver le certificat SSL EXPRESS IIS auto-signé.

Par exemple, une propriété de projet web peut être définie pour utiliser SSL. Cliquez sur F4 pour afficher la boîte de dialogue propriétés. Remplacez SSL Activé par true. Copiez l’URL SSL.

SSL Enabled, propriété

Définissez l’onglet web de la page de propriétés du projet web pour utiliser l’URL basée sur HTTPS (l’URL SSL sera https://localhost:44300/ sauf si vous avez déjà créé des sites web SSL.)

Définir l’URL du projet (HTTPS)

Appuyez sur Ctrl+F5 pour exécuter l’application. Suivez les instructions pour approuver le certificat auto-signé que IIS Express a généré.

Avertissement SSL

Lisez la boîte de dialogue Avertissement de sécurité , puis cliquez sur Oui si vous souhaitez installer le certificat représentant localhost.

Avertissement de sécurité

Le site s’affiche dans Internet Explorer ou Chrome sans l’avertissement de certificat dans le navigateur.

Page HTTPS sans avertissements

Firefox utilise son propre magasin de certificats. Il affiche donc un avertissement.

Améliorations apportées à Visual Studio Web Editor

  • Nouvel élément et éditeur de projet JSON : nous avons ajouté un élément et un éditeur de projet JSON à Visual Studio. Les fonctionnalités actuelles de l’éditeur JSON incluent la colorisation, la validation de la syntaxe, l’achèvement des accolades, le plan, le paramètre d’option d’outils et bien plus encore.

    Éditeur JSON

    IntelliSense prend désormais en charge le schéma JSON v3 et v4. Il existe une zone de liste déroulante de schéma pour choisir des schémas existants, modifier le chemin du schéma local ou simplement faire glisser un fichier JSON de projet vers celui-ci pour obtenir le chemin d’accès relatif.

    Éditeur de schéma JSON IntelliSense

  • Nouvel éditeur Sass (SCSS) : nous avons ajouté LESS dans VS2013 RTM, et nous avons maintenant un élément de projet Sass et un éditeur. Les fonctionnalités de l’éditeur Sass sont comparables à l’éditeur LESS et incluent la colorisation, les variables et Mixins IntelliSense, les commentaires/commentaires, les informations rapides, la mise en forme, la validation syntaxique, le plan, la définition goto, le sélecteur de couleurs, le paramètre d’option d’outils, etc.

    Ajouter un nouvel élément :Éditeur de feuille de style SCSS

  • Nouveau sélecteur d’URL dans les documents HTML, Razor, CSS, LESS et Sass : VS 2013 fourni sans sélecteur d’URL en dehors de Web Forms pages. Le nouveau sélecteur d’URL pour les éditeurs HTML, Razor, CSS, LESS et Sass est un sélecteur de saisie fluide et sans boîte de dialogue qui comprend « . ». et filtre les listes de fichiers de manière appropriée pour les balises et les liens img.

    Capture d’écran de la nouvelle saisie fluide sans boîte de dialogue que vous êtes l Sélecteur qui filtre les listes de fichiers de manière appropriée. L’exemple illustre les liens d’image.Capture d’écran de la nouvelle saisie fluide sans boîte de dialogue que vous êtes l Sélecteur qui filtre les listes de fichiers de manière appropriée. L’exemple illustre les liens h t m l.Capture d’écran du nouveau sélecteur pour les éditeurs s s qui filtre correctement les listes de fichiers pour les balises et les liens i m g.

  • Mises à jour à l’éditeur LESS en ajoutant d’autres fonctionnalités

  • Mise à niveau d’IntelliSense knockout : nous avons ajouté une syntaxe KnockOut non standard pour VS intelliSense, la syntaxe « ko-vs-editor viewModel: ». Il peut être utilisé pour établir une liaison à plusieurs modèles d’affichage sur une page à l’aide de commentaires dans le formulaire :

    Knockout Intellisense

    Nous avons également ajouté la prise en charge d’IntelliSense ViewModel imbriqué, afin que vous puissiez explorer des objets profondément imbriqués sur le ViewModel.

    <div data-bind="text: foo.bar.baz.etc" />

    IntelliSense affiché est l’IntelliSense complet de l’objet JavaScript.

    IntelliSense montrant l’objet JavaScript complet

  • Nouveau sélecteur d’URL dans les documents HTML, Razor, CSS, LESS et Sass : VS 2013 fourni sans sélecteur d’URL en dehors de Web Forms pages. Le nouveau sélecteur d’URL pour les éditeurs HTML, Razor, CSS, LESS et Sass est un sélecteur de saisie fluide et sans boîte de dialogue qui comprend « . ». et filtre les listes de fichiers de manière appropriée pour les balises et les liens img.

    Capture d’écran de la nouvelle saisie fluide sans boîte de dialogue vous êtes l Sélecteur qui filtre les listes de fichiers de manière appropriée pour les balises et liens i m g.Capture d’écran de la nouvelle saisie fluide et sans boîte de dialogue vous êtes l Sélecteur qui filtre les listes de fichiers de manière appropriée, affichant des liens h t m l.Capture d’écran du nouveau sélecteur de saisie fluide et sans boîte de dialogue pour les éditeurs c s qui filtre les listes de fichiers de manière appropriée pour les balises et les liens i m g.

  • Browser Link prend désormais en charge les connexions HTTPS et les répertorie dans tableau de bord avec d’autres connexions tant que le certificat est approuvé par le navigateur.
  • Mappage de source HTML statique
  • Prise en charge de SPA pour le mappage des données
  • Mise à jour automatique des données de mappage

Prise en charge des Azure App Service Web Apps dans Visual Studio

Créer des ressources Azure distantes lors de la création d’un projet web

Nous avons ajouté une case à cocher Azure « Créer des ressources distantes » dans la boîte de dialogue nouvelle application web. En le choisissant, vous pourrez intégrer l’expérience de création d’une application web, de configuration du site de publication Azure à des fins de test et de création d’un profil de publication en quelques étapes simples.

Publication d’un nouveau projet avec des ressources Azuresur Azure

Améliorations apportées à la publication web

  • Améliorer l’expérience utilisateur pour la publication.

ASP.NET la génération automatique

  • Prise en charge de l’énumération : Si votre modèle utilise des énumérations, le Scaffolder MVC génère une liste déroulante pour Enum. Cela utilise les assistances Enum dans MVC.
  • Prise en charge de l’amorçage : mise à jour des modèles EditorFor dans la génération de modèles MVC Scaffolding afin qu’ils utilisent les classes Bootstrap.
  • Prise en charge des packages : les modèles de génération automatique MVC et d’API web ajouteront des packages 5.1 pour MVC et l’API web

Les captures d’écran suivantes illustrent les modèles de génération automatique.

  • Code du modèle :

    Code du modèle

  • Compilez le code du modèle, cliquez avec le bouton droit, puis sélectionnez Ajouter, Nouvel élément généré automatiquement.

    Ajouter un nouvel élément de structure

  • Choisissez le contrôleur MVC5 avec des vues, à l’aide d’Entity Framework :

    Ajouter un nouveau contrôleur MVC5 avec des vues

  • Ajoutez le contrôleur à l’aide du modèle :

    Capture d’écran de la boîte de dialogue Ajouter un contrôleur, avec la classe modèle sélectionnée et le champ classe de contexte de données sélectionné et mis en surbrillance.

  • Vérifiez le code généré, par exemple Views/WeekdayModels/Edit.cshtml contient @Html.EnumDropDownListFor: Affichage contenant EnumDropDownListFor

  • Exécutez la page pour voir la zone de liste modifiable d’énumération générée. Notez que si une valeur peut être null, une chaîne vide peut être choisie pour la zone de liste déroulante. Par exemple, la page Créer affiche les éléments suivants :

    Zone de liste déroulante autorisant une chaîne vide

NuGet 2.8.1

NuGet 2.8.1 RTM sera publié en avril 2014. Voici les points saillants des notes de publication, mais veuillez case activée les notes de publication complètes pour plus d’informations sur ces modifications.

  • Applications cibles Windows Phone 8.1 : NuGet 2.8.1 prend désormais en charge le ciblage des applications Windows Phone 8.1 à l’aide des monikers du framework cible « WindowsPhoneApp », « WPA », « WindowsPhoneApp81 » et « WPA81 ».

  • Résolution corrective pour les dépendances : lors de la résolution des dépendances de package, NuGet a historiquement implémenté une stratégie de sélection de la version de package majeure et mineure la plus basse qui satisfait les dépendances sur le package. Contrairement aux versions principale et mineure, toutefois, la version corrective a toujours été résolue en version la plus élevée. Bien que le comportement ait été bien intentionné, il a créé un manque de déterminisme pour l’installation de packages avec des dépendances.

  • Commutateur DependencyVersion : bien que NuGet 2.8 modifie le comportement par défaut pour la résolution des dépendances, il ajoute également un contrôle plus précis sur le processus de résolution des dépendances via le commutateur -DependencyVersion dans la console du gestionnaire de package. Le commutateur permet de résoudre les dépendances à la version la plus basse possible (comportement par défaut), à la version la plus élevée possible ou à la version mineure ou corrective la plus élevée. Ce commutateur fonctionne uniquement pour install-package dans la commande powershell.

  • Attribut DependencyVersion : en plus du commutateur -DependencyVersion détaillé ci-dessus, NuGet a également permis de définir un nouvel attribut dans le fichier nuget.config définissant la valeur par défaut, si le commutateur -DependencyVersion n’est pas spécifié dans un appel de install-package. Cette valeur sera également respectée par la boîte de dialogue gestionnaire de package NuGet pour toutes les opérations d’installation du package. Pour définir cette valeur, ajoutez l’attribut ci-dessous à votre fichier nuget.config :

    <config> <add key="dependencyversion" value="Highest" /> </config>

  • Aperçu des opérations NuGet avec -WhatIf : certains packages NuGet peuvent avoir des graphiques de dépendances profonds et, par conséquent, il peut être utile lors d’une opération d’installation, de désinstallation ou de mise à jour de voir d’abord ce qui se passera. NuGet 2.8 ajoute le PowerShell standard -what if switch aux commandes install-package, uninstall-package et update-package pour permettre de visualiser la fermeture complète des packages auxquels la commande sera appliquée.

  • Package de rétrogradation : il n’est pas rare d’installer une version préliminaire d’un package afin d’examiner de nouvelles fonctionnalités, puis de décider de revenir à la dernière version stable. Avant NuGet 2.8, il s’agissait d’un processus en plusieurs étapes consistant à désinstaller le package prérelease et ses dépendances, puis à installer la version antérieure. Avec NuGet 2.8, toutefois, le package de mise à jour restaure la fermeture complète du package (par exemple, l’arborescence des dépendances du package) à la version précédente.

  • Dépendances de développement : de nombreux types de fonctionnalités peuvent être fournis sous forme de packages NuGet, y compris les outils utilisés pour optimiser le processus de développement. Ces composants, bien qu’ils puissent contribuer au développement d’un nouveau package, ne doivent pas être considérés comme une dépendance du nouveau package lors de sa publication ultérieure. NuGet 2.8 permet à un package de s’identifier dans le fichier .nuspec en tant que developmentDependency. Une fois installées, ces métadonnées sont également ajoutées au fichier packages.config du projet dans lequel le package a été installé. Lorsque ce fichier packages.config est analysé ultérieurement pour les dépendances NuGet pendant nuget.exe pack, il exclut les dépendances marquées comme dépendances de développement.

  • Fichiers packages.config individuels pour différentes plateformes : lors du développement d’applications pour plusieurs plateformes cibles, il est courant d’avoir des fichiers projet différents pour chacun des environnements de build respectifs. Il est également courant de consommer différents packages NuGet dans différents fichiers projet, car les packages ont différents niveaux de prise en charge pour différentes plateformes. NuGet 2.8 offre une prise en charge améliorée de ce scénario en créant différents fichiers packages.config pour différents fichiers projet spécifiques à la plateforme.

  • Secours au cache local : bien que les packages NuGet soient généralement consommés à partir d’une galerie distante telle que la galerie NuGet à l’aide d’une connexion réseau, il existe de nombreux scénarios où le client n’est pas connecté. Sans connexion réseau, le client NuGet n’a pas pu installer correctement les packages, même lorsque ces packages se trouvaient déjà sur l’ordinateur du client dans le cache NuGet local. NuGet 2.8 ajoute le secours automatique du cache à la console du gestionnaire de package.

    La fonctionnalité de secours du cache ne nécessite aucun argument de commande spécifique. En outre, le secours de cache fonctionne actuellement uniquement dans la console du gestionnaire de package . Le comportement ne fonctionne pas actuellement dans la boîte de dialogue du gestionnaire de package.

  • Correctifs de bogues : l’amélioration des performances de la commande update-package -reinstall est l’un des principaux correctifs de bogues.

    En plus de ces fonctionnalités et du correctif de performances ci-dessus, cette version de NuGet inclut également de nombreux autres correctifs de bogues. Au total, 181 problèmes ont été traités dans la version. Pour obtenir la liste complète des éléments de travail résolus dans NuGet 2.8, consultez le suivi des problèmes NuGet pour cette version.

ASP.NET Web Forms

ASP.NET MVC 5.1.2

API Web ASP.NET 2.1.2

pages Web ASP.NET 3.1.2

Entity Framework 6.1

Entity Framework a été mis à jour vers la version 6.1 pour le runtime et les outils. Entity Framework (EF) 6.1 est une mise à jour mineure d’Entity Framework 6 et inclut un certain nombre de correctifs de bogues et de nouvelles fonctionnalités. Pour plus d’informations sur EF6.1, y compris des liens vers la documentation relative aux nouvelles fonctionnalités, consultez Historique des versions d’Entity Framework. Les nouvelles fonctionnalités de cette version sont les suivantes :

  • La consolidation des outils offre un moyen cohérent de créer un nouveau modèle EF. Cette fonctionnalité étend l’Assistant Modèle de données d’entité ADO.NET pour prendre en charge la création de modèles Code First, y compris l’ingénierie inverse à partir d’une base de données existante. Ces fonctionnalités étaient auparavant disponibles en qualité bêta dans ef Power Tools.
  • La gestion des échecs de validation de transaction fournit le nouveau System.Data.Entity.Infrastructure.CommitFailureHandler , qui utilise la nouvelle capacité d’intercepter les opérations de transaction. CommitFailureHandler permet la récupération automatique des échecs de connexion lors de la validation d’une transaction.
  • IndexAttribute permet de spécifier des index en plaçant un attribut sur une propriété (ou des propriétés) dans votre modèle Code First. Code First crée ensuite un index correspondant dans la base de données.
  • L’API de mappage public permet d’accéder aux informations dont EF dispose sur la façon dont les propriétés et les types sont mappés aux colonnes et tables de la base de données. Dans les versions précédentes, cette API était interne.
  • Possibilité de configurer des intercepteurs via le fichier App/Web.config (permettant d’ajouter des intercepteurs sans recompiler l’application).
  • DatabaseLogger est un nouvel intercepteur qui facilite la journalisation de toutes les opérations de base de données dans un fichier. En combinaison avec la fonctionnalité précédente, vous pouvez facilement activer la journalisation des opérations de base de données pour une application déployée, sans avoir à recompiler.
  • La détection des modifications du modèle migrations a été améliorée afin que les migrations avec structure soient plus précises ; les performances du processus de détection des modifications ont également été considérablement améliorées.
  • Améliorations des performances , notamment une réduction des opérations de base de données pendant l’initialisation, des optimisations pour la comparaison de l’égalité null dans les requêtes LINQ, une génération d’affichage plus rapide (création de modèles) dans d’autres scénarios et une matérialisation plus efficace des entités suivies avec plusieurs associations.

ASP.NET Identity 2.0.0

  • Authentification à deux facteurs : ASP.NET Identity prend désormais en charge l’authentification à deux facteurs. L’authentification à deux facteurs fournit une couche de sécurité supplémentaire à vos comptes d’utilisateur dans le cas où votre mot de passe est compromis. Il existe également une protection contre les attaques par force brute contre les deux codes de facteurs.

  • Verrouillage de compte : Fournit un moyen de verrouiller l’utilisateur si l’utilisateur entre son mot de passe ou ses codes à deux facteurs de manière incorrecte. Le nombre de tentatives non valides et le délai de verrouillage des utilisateurs peuvent être configurés. Un développeur peut éventuellement désactiver le verrouillage de compte pour certains comptes d’utilisateur s’il en a besoin.

  • Confirmation du compte : Le système d’identité ASP.NET prend désormais en charge la confirmation de compte. Il s’agit d’un scénario assez courant dans la plupart des sites web d’aujourd’hui où, lorsque vous créez un nouveau compte sur le site web, vous devez confirmer votre e-mail avant de pouvoir faire quoi que ce soit sur le site web. Email confirmation est utile, car elle empêche la création de comptes fictifs. Cela est extrêmement utile si vous utilisez le courrier électronique comme méthode de communication avec les utilisateurs de votre site web, tels que les sites de forum, les banques, le commerce électronique ou les sites web sociaux.

  • Réinitialisation du mot de passe : La réinitialisation de mot de passe est une fonctionnalité qui permet à l’utilisateur de réinitialiser son mot de passe s’il a oublié son mot de passe.

  • Empreinte de sécurité (se déconnecter partout) : Prend en charge un moyen de régénérer le jeton de sécurité pour l’utilisateur dans les cas où l’utilisateur modifie son mot de passe ou toute autre information liée à la sécurité, comme la suppression d’une connexion associée (comme Facebook, Google, compte Microsoft, etc.). Cela est nécessaire pour garantir que tous les jetons générés avec l’ancien mot de passe sont invalidés. Dans l’exemple de projet, si vous modifiez le mot de passe de l’utilisateur, un nouveau jeton est généré pour l’utilisateur et tous les jetons précédents sont invalidés. Cette fonctionnalité fournit une couche de sécurité supplémentaire à votre application, car lorsque vous modifiez votre mot de passe, vous êtes déconnecté de n’importe où (tous les autres navigateurs) où vous vous êtes connecté à cette application.

  • Rendre le type de clé primaire extensible pour les utilisateurs et les rôles : dans ASP.NET Identity 1.0, le type de clé primaire pour la table Users and Roles était des chaînes. Cela signifie que lorsque le système d’identité ASP.NET a été conservé dans SQL Server à l’aide d’Entity Framework, nous utilisions nvarchar. Il y a eu de nombreuses discussions autour de cette implémentation par défaut sur Stack Overflow et en fonction des commentaires entrants. Nous avons fourni un hook d’extensibilité dans lequel vous pouvez spécifier la clé primaire de votre table Users and Roles. Ce hook d’extensibilité est particulièrement utile si vous migrez votre application et que l’application stockait les UserIds sont des GUID ou des ints.

  • Prise en charge d’IQueryable sur les utilisateurs et les rôles : ajout de la prise en charge d’IQueryable sur UsersStore et RolesStore, vous pouvez facilement obtenir la liste des utilisateurs et des rôles.

  • Prise en charge de l’opération De suppression par le biais de UserManager

  • Indexation sur UserName : dans ASP.NET implémentation d’Entity Framework d’identité, nous avons ajouté un index unique sur le nom d’utilisateur à l’aide du nouvel IndexAttribute dans EF 6.1.0. Cela permet de s’assurer que les noms d’utilisateur sont toujours uniques et qu’il n’y avait aucune condition de concurrence dans laquelle vous pourriez vous retrouver avec des noms d’utilisateur en double.

  • Validateur de mot de passe amélioré : Le validateur de mot de passe fourni dans ASP.NET Identity 1.0 était un validateur de mot de passe assez simple qui validait uniquement la longueur minimale. Il existe un nouveau validateur de mot de passe qui vous permet de mieux contrôler la complexité du mot de passe. Notez que même si vous activez tous les paramètres de ce mot de passe, nous vous encourageons à activer l’authentification à deux facteurs pour les comptes d’utilisateur.

  • Middleware IdentityFactory/ CreatePerOwinContext :

    • Gestionnaire d’utilisateurs : vous pouvez utiliser l’implémentation factory pour obtenir une instance de UserManager à partir du contexte OWIN. Ce modèle est similaire à ce que nous utilisons pour obtenir AuthenticationManager à partir du contexte OWIN pour SignIn et SignOut. Il s’agit d’un moyen recommandé d’obtenir une instance de UserManager par demande pour l’application.
    • DbContextFactory : ASP.NET Identity utilise Entity Framework pour conserver le système d’identité dans SQL Server. Pour ce faire, le système d’identité a une référence à ApplicationDbContext. L’intergiciel DbContextFactory retourne une instance d’ApplicationDbContext par demande que vous pouvez utiliser dans votre application.
  • ASP.NET package NuGet d’exemples d’identité : le package NuGet Samples peut faciliter l’installation et l’exécution d’exemples pour ASP.NET Identity et suivre les meilleures pratiques. Il s’agit d’un exemple ASP.NET application MVC. Modifiez le code en fonction de votre application avant de le déployer en production. L’exemple doit être installé dans une application ASP.NET vide. Pour plus d’informations sur le package, consultez le billet de blog suivant : Annonce de RTM de ASP.NET Identity 2.0.0

Composants Microsoft OWIN

De nombreux bogues ont été corrigés dans cette version.

ASP.NET SignalR 2.0.2

De nombreux bogues ont été corrigés dans cette version. Pour plus d’informations, consultez les notes de publication de la version 2.0.2 .