IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Apprendre à migrer une application ASP.NET Core existante vers ASP.NET Core 2.0
Par Hinault Romaric

Le , par Hinault Romaric

0PARTAGES

ASP.NET Core 2.0, la dernière évolution majeure de la jeune plateforme de développement Web est disponible en version stable depuis une dizaine de jours. Dans ce billet de blog, je vais présenter les modifications qu'il faut apporter à une application ASP.NET Core 1.x pour profiter des fonctionnalités de cette nouvelle version.



Mise à jour de la version du Framework

Pour migrer votre application sous ASP.NET Core 1.x vers ASP.NET Core 2.0, la première chose à faire sera d’éditer le fichier .csproj et modifier la version du Framework qui est utilisée.

La section suivante:


netcoreapp1.1


Doit être modifiée en:


netcoreapp2.0


Si vous ciblez le Full Framework .NET dans votre projet, vous devez modifier sa version pour utiliser une version supérieure ou égale à 4.6.1. Il est référencé dans la section TargetFramework. Vous allez désormais avoir ceci:

net461

Si vous utilisez Visual Studio, vous pouvez simplement aller dans les propriétés du projet, et cliquer sur la zone déroulante «Target Framework», puis choisir .NET Core 2.0.

306551

Mise à jour des packages

Une fois cela fait, vous devez faire passer tous les packages ASP.NET Core (Microsoft.AspNetCore.xxx) qui sont référencés dans votre projet vers les nouvelles versions de ceux-ci. Vous pouvez également modifier les packages pour EntityFramework Core vers la version 2.0 qui a été publiée au même moment.

Pour mon application dont les packages suivants sont référencés:











Je vais obtenir le résultat suivant après mise à jour:











Vous pouvez migrer vos packages encore plus simplement, en remplaçant ceux-ci par une référence unique au metapackage Microsoft.AspNetCore.All comme suit:






Il s’agit d’une nouveauté de ASP.NET Core 2.0. Vous trouverez plus de détails dans mon billet de blog découverte du metapackage Microsoft.AspNetCore.All.

Mise à jour des outils .NET Core

Dans le fichier .csproj, il pourrait également exister une section dans laquelle sont référencés les outils CLI .NET Core. Ils sont notamment utilisés pour la génération de code ou par EntityFramework pour la génération des bases de données.






Vous devez également les modifier pour cibler .NET Core 2.0:






Autres modifications

Le fichier Program.cs a été refactorisé dans ASP.NET Core 2.0. Pour éviter les potentiels problèmes que pourrait causer le code de la version avec ASP.NET Core 1.x, je vous recommande de modifier le code de votre classe Program pour utiliser celui proposé avec ASP.NET Core 2.0.

Vous devez donc éditer votre fichier Program.cs, et remplacer le code suivant:


public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup()
.Build();

host.Run();
}
}

Par:

public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}

public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.Build();
}


Si dans votre fichier .csproj, vous avez la section PackageTargetFallBack:

portable-net45+win8

Elle doit être renommée en AssertTargetFallback:

portable-net45+win8

Après toutes ces modifications, si vous exécutez votre application, elle devra désormais utiliser ASP.NET Core 2.0.

Vous avez lu gratuitement 905 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !