Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1901, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Creare un'applicazione ASP.NET Core su Ubuntu con Visual Studio Code

Ubuntu è un popolare sistema operativo open source, noto per avere come genitore l'ancor più noto Linux. Uno dei più grandi investimenti fatti da Microsoft negli ultimi anni è .NET Core, che consente di usare C# per scrivere applicazioni cross-platform e che quindi funzionino anche su Mac e Linux, oltre che su Windows. Tra le distribuzioni più importanti, oltre a Linux di Red Hat, ci sono appunto Ubuntu, Debian e Fedora.

.NET Core consiste certamente in un runtime, ma anche in una Command Line Interface per l'esecuzione di strumenti a riga di comando. Non dispone quindi di un IDE, ma il problema è presto risolto grazie a Visual Studio Code, anche lui cross-platform e assolutamente supportato su Ubuntu e le altre distribuzioni.

L'obiettivo di questo post è spiegare i passaggi introduttivi per sviluppare un'applicazione ASP.NET Core su Ubuntu con Visual Studio Code, con gli opportuni flash per approfondimenti.

Preparazione del sistema

La versione più indicata per lavorare con .NET Core e VS Code su Ubuntu è la 16.04, sebbene ci sia supporto per la 16.10 e la 14.04. La 16.04 è una long time support ed è quella attualmente più stabile. Se avete Ubuntu installato su un pc o su una partizione, siete a posto. Diversamente è possibile creare una virtual machine scaricando la ISO del sistema operativo da questo indirizzo, poi, se siete su Windows, potete utilizzare Hyper-V Manager per creare la nuova VM. L'installazione del sistema è piuttosto semplice e assolutamente guidata.
Al termine, la prima cosa da fare è installare .NET Core, di cui ci sono varie preview versions. Il mio consiglio è di installare la 1.0.3, che ripristina le solution e i file .csproj invece di project.json. Per farlo, serve un command prompt che in Ubuntu si chiama Terminal. Possiamo facilmente trovarlo utilizzando l'icona Search your computer in alto a sinistra e digitando "terminal".

Quando compare il command prompt, digitate in sequenza questi comandi:

> sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'

> sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893

> sudo apt-get update

> sudo apt-get install dotnet-dev-1.0.0-preview3-004056

Sudo consente di installare applicazioni anche da parte di utenti che non abbiano privilegi amministrativi. Nell'ultima riga, chiaramente potremo modificare la versione di .NET Core che ci interessa. Qui viene installato il runtime ma anche l'SDK, che include la command line interface.

Ultima cosa da fare è installare Visual Studio Code. Ci sono varie versioni per ambienti Linux, su Ubuntu dovete scegliere quella Ubuntu/Debian con estensione .deb. Download, doppio click, installazione. Semplice.

Creazione dell'applicazione

Con .NET Core, l'applicazione viene creata dalla riga di comando all'interno di una cartella. Se già conoscete Ubuntu, potete creare una cartella da riga di comando nel Terminal. Se non avete dimestichezza, una buona idea può essere ricorrere allo strumento Files, spostarvi all'interno di una sottocartella di vostra scelta, tasto destro -> New Folder:



Chiamo la cartella SampleApp, poi tasto destro sul suo nome e Open in Terminal. Digito due semplici righe:

> dotnet new -t web

> dotnet restore


La prima crea un'applicazione .NET Core di tipo (-t) Web. Se ometto il tipo, viene creata un'app Console. La seconda ripristina i pacchetti NuGet necessari. Ecco il risultato:



Infine, possiamo aprire il progetto appena creato con Visual Studio Code digitando, direttamente da command prompt:

> code .

Visual Studio Code si accorgerà che il progetto è in C#, quindi, se non già disponibile, vi suggerirà di scaricare e installare la relativa estensione. Notate, inoltre, che Visual Studio Code scaricherà i runtime di Mono e OmniSharp e il debugger di .NET Core.
Nella barra Explorer vedrete la classica rappresentazione di un progetto ASP.NET MVC:



Se ora andate nella scheda di debug cliccando sull'icona col simbolo della formica-bug, dopo esservi accertati che in alto sia selezionata la configurazione .NET Core Launch (web), premete F5. Su Ubuntu il browser di default è Firefox, quindi vedrete l'applicazione Web in esecuzione in questo browser (se non ne avete altri, ben inteso). Quello che voglio evidenziare è come però abbiate a disposizione la consueta, potente strumentazione di debug che Visual Studio Code mette a disposizione:



La cosa quindi estremamente interessante è che avete un'applicazione Web scritta in C#, basata su ASP.NET Core e il pattern MVC su un sistema Ubuntu, cosa impensabile fino a un paio d'anni fa.

Ulteriori implementazioni

Chiaramente questa è solo l'introduzione alla creazione del progetto. Per proseguire, sicuramente la documentazione. Poi potrebbe interessarvi questo mio articolo per MSDN Magazine che illustra come implementare l'accesso ai dati basato su Entity Framework Core. Infine, la possibilità di usare Yeoman per generare controller MVC e Web API per ASP.NET Core.

E indovinate? funziona anche su Mac

Alessandro

Print | posted on martedì 27 dicembre 2016 00:00 | Filed Under [ .NET Framework ]

Powered by:
Powered By Subtext Powered By ASP.NET