.NET Core MVC

.NET Core e .NET MVC 5 – Differenze

Nella sezione Q&A dei miei corsi su .NET Core, una delle domande ricorrenti è quella che riguarda la differenza tra MVC5 e .NET Core MVC.

Uno degli aspetti che più sorprende (e che ha sorpreso anche me!) al momento della scrittura di una nuova applicazione basata su .NET Core è sicuramente la mancanza di alcuni elementi strutturali a cui ci siamo nel tempo abituati, e la presenza di nuovi.

Sicuramente la differenza principale è la possibilità di eseguire le applicazioni scritte in .NET Core in ambienti multipiattaforma, e soprattutto anche senza dover utilizzare necessariamente Visual Studio. Il nuovo framework, infatti, integra al suo interno una serie di operazioni “a linea di comando” che consentono la creazione di applicazioni senza dover utilizzare l’Ide di casa Microsoft (anche se rimane consigliato).

Vediamo quindi quelle che sono le differenze rispetto ad MVC5:

  • cartella App_start: nella struttura di un’applicazione basata su MVC5 conteneva la definizione dei processi, della configurazione e del routing. In .NET Core non è più necessaria, tutta la configurazione avviene all’interno del file startup.cs
  • file Web.config: non è più necessario! Abbandonato il modello di file basato su Xml a favore del json, le configurazioni sono memorizzate all’interno dle file appsettings.json.
  • cartella App_data: tipicamente utilizzata per dati locali (database, log ecc..) non è fornita nel template standard. Può comunque essere aggiunta manualmente.
  • cartella Scripts: anche questa cartella non è più presente. Tutti i file statici risiedono all’interno della cartella wwwroot/js
  • file Global.asax: non è più necessario! Le configurazioni devono essere inserite all’interno del file startup.cs.

Inoltre anche la struttura delle cartelle riporta una serie di modifiche sostanziali:

  • appsettings.json: è il successore del file Web.config.
  • Cartella src: è la cartella root dell’intera applicazione, chiamata appunto cartella dei sorgenti
  • file project.json: è il file di configurazione dell’intera soluzione. A differenza della precedente versione è possibile aggiungere e rimuovere dipendenze semplicemente modificando questo file.
  • Cartella wwwrootutilizzata per la memorizzazione dei contenuti statici. All’interno di questa cartella possono essere memorizzati (all’interno di opportune sottocartelle) i file relativi ai css, js e le librerie di terze parti.
  • Cartella Dependenciescontiene le dipendenze del nostro progetto. Ricordiamo il pieno supporto al package manager npm e bower.

Pubblicato da

Andrea Merlin

Laureato in informatica, diversi corsi di specializzazione legati allo Sviluppo Software e alla Computer forensics. Appassionato di nuove tecnologie, amo la programmazione, la Business Intelligence e tematiche legate alla Privacy.Sempre alla ricerca di nuove idee, stimoli … e progetti da seguire!Amo trascorrere il tempo libero in Val Borbera, un piccolo angolo del Piemonte, in provincia di Alessandria.