Ciao a tutti,
ho provato a seguire qualche guida per migrare un progetto da .net core 2.2 a .net core 3.0 ma ho dei problemi specifici riguardo al progetto che sto realizzando ormai da diversi mesi.
I primissimi passaggi che ho fatto sono stati i seguenti:
1) nel file .csproj del mio progetto ho impostato il TargetFramework su netcoreapp3.0
2) ho rimosso da "Dependencies -> Packages" il riferimento a "Microsoft.AspNetCore.App" (e successivamente ho fatto rebuild) ma da qui ho avuto tutta una serie di segnalazioni di errore su moltissimi file del progetto
- la maggior parte sono riferiti al richiamo che ho nei vari controller al tipo "HostingEnvironment" che probabilmente dovrò sostituire con l'interfaccia "IWebHostEnvironment"...almeno credo...devo ancora provare
- in un file Razor ho avuto due tipi di errore segnalati:
- The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)
- The type or namespace name 'Helpers' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
3) nel metodo "ConfigureServices" del mio file "Startup.cs" non so come riscrivere questa configurazione:
services.AddDbContext<DbContext>(options => options.UseMySql(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<Utenti, IdentityRole>().AddDefaultUI(UIFramework.Bootstrap4).AddEntityFrameworkStores<DbContext>().AddDefaultTokenProviders();
dato che mi vengono segnalati rispettivamente questi due errori:
- Cannot convert lambda expression to type 'ServiceLifetime' because it is not a delegate type
- 'IdentityBuilder' does not contain a definition for 'AddDefaultUI' and no accessible extension method 'AddDefaultUI' accepting a first argument of type 'IdentityBuilder' could be found (are you missing a using directive or an assembly reference?)
4) nel metodo "Configure" del mio file "Startup.cs" non so come riscrivere alcune regole di routing che avevo impostato ad esempio nel modo seguente:
routes.MapRoute(
name: "contentPages",
template: "{*slug}",
defaults: new { controller = "Page", action = "Content" },
constraints: new { slug = new SlugRouteConstraint(() => app.ApplicationServices.CreateScope().ServiceProvider.GetRequiredService<FFMDbContext>()) }
);
perchè se uso questa nuova dichiarazione:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
non è riconosciuto il parametro "template" che ho attualmente configurato in alcune mie regole di routing
Spero che qualcuno possa aiutarmi.
Vi ringrazio in anticipo!!!
Saluti.