Settembre 2017

Volume 32 Numero 9

Il presente articolo è stato tradotto automaticamente.

.NET Core - Scrivi app .NET come e dove vuoi

Da Hall Andrew | 2017 settembre

Probabilmente si è sentito parlare da ora che Microsoft .NET non è più sufficiente per Windows. .NET core offre la possibilità di scrivere applicazioni che vengono eseguite in qualsiasi sistema operativo scegliere (Windows, Mac OS o Linux) utilizzando il linguaggio desiderato (in c#, Visual Basic o F #). Naturalmente, con la possibilità di scrivere applicazioni per la piattaforma di propria scelta, si prevede che gli strumenti di sviluppo grande stesso che sono sempre stato incisivo di sviluppo per .NET. È una notizia eccezionale, come il nostro piattaforme supportate sono aumentati, quindi utilizzare gli strumenti disponibili per la creazione di applicazioni .NET. 

In questo articolo, ti assisteremo tramite gli strumenti di sviluppo disponibili in base alla stile di lavoro personale e del sistema operativo. Si inizierà con gli strumenti da riga di comando inclusi con il SDK che può essere un qualsiasi editor (sebbene sia consigliabile codice di Visual Studio), quindi vi mostreremo le nuove funzionalità eccellenti di Visual Studio 2017 prima delle quali presenta il membro più recente di Visual Studio famiglia di Visual Studio per Mac. Infine, si descriveranno mostrando come questi strumenti consentono di sfruttare i contenitori di software e provare le app facilmente nel cloud di Microsoft Azure.

Concetti fondamentali

Ai fini di questo articolo, si userà il termine ".NET Core" everywhere per mantenere la coerenza, ma sono disponibili due tecnologie importante coperto da questo nome: .NET Core e .NET Standard. .NET core è il runtime multipiattaforma che esegue applicazioni. .NET standard è un set del compilatore a livello di API che vengono utilizzati come destinazione per le librerie di classi che consentono di eseguire una singola libreria su qualsiasi runtime che supporta lo standard. Ad esempio, .NET Core 2.0, .NET Framework 4.6.1 e Mono 4.8 supportano librerie di classi 2.0 (e precedente) Standard .NET. Per una migliore comprensione di questo concetto, vedere l'articolo complementare "Demistificazione .NET Core e .NET Standard" in questo problema.

È inoltre importante notare le lingue supportate da .NET Core e 2.0 di .NET Standard. A un livello elevato, entrambe le tecnologie di supportano c#, Visual Basic e F # 2.0. Il nostro obiettivo con Visual Basic, tuttavia, questa versione è per abilitare le librerie di classi .NET 2.0 Standard. Ciò significa che Visual Basic sono disponibili solo modelli per librerie di classi e le applicazioni console, quando c# e F # include anche i modelli per le applicazioni ASP.NET Core 2.0.

File di progetto comuni migliorata

Uno dei primi aspetti da notare sull'utilizzo di progetti .NET Core è che condividono un formato di progetto comuni molto semplificato. Ciò significa che un progetto creato con uno strumento (ad esempio, gli strumenti da riga di comando) funzioneranno su qualsiasi elemento che supporta .NET Core (ad esempio Visual Studio o Visual Studio per Mac). Con il nuovo formato di file di progetto, è stata rimossa la necessità per i GUID e per elencare in modo esplicito i file inclusi, che riduce notevolmente i conflitti di unione quando esegue il commit degli aggiornamenti al controllo della versione. Il codice seguente illustra l'intero contenuto del file di progetto per una nuova applicazione console c# .NET Core:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
</Project>

Inoltre, il formato comune significa che i membri del team stesso è possono utilizzare con la piattaforma di propria scelta e il dispositivo. Se desideri utilizzare in un Mac, un altro su Windows e un terzo su Linux, un membro del team possono tutti facilmente contribuire allo stesso progetto. Per ulteriori informazioni sul formato di progetto aggiornato, visitare aka.ms/newprojectfile.

Strumenti da riga di comando

La base di qualsiasi strumento di sviluppo è Software Development Kit (SDK) e .NET Core non è diverso. Una delle parti integrale del SDK .NET Core è l'interfaccia della riga di comando (CLI), che consente di creare, compilare ed eseguire le applicazioni dalla riga di comando. Con l'interfaccia CLI è possibile utilizzare l'editor preferito per creare App senza la necessità di installare gli strumenti più pesante. Per iniziare, installare il SDK di base .NET disponibile (disponibile da dot.net).

Dopo aver installato il SDK, aprire il prompt dei comandi Preferiti e una fase "dotnet - help" per visualizzare un elenco di tutti i comandi disponibili. Il comando dotnet è il driver per l'interfaccia CLI .NET, in cui la grammatica è "dotnet < verbo > [parametri]". Ad esempio, per visualizzare tutti i modelli di tipo di progetto disponibili per creare, digitare "dotnet nuovo".  Per creare un nuovo progetto, fornire il nome breve come parametro per l'azione "new"; ad esempio, "dotnet nuovo razor" creerà un'applicazione Web c# ASP.NET Core con le nuove pagine Razor 2.0 di base .NET (per informazioni su questa nuova funzionalità eccellenti, vedere aka.ms/razorpages). Per eseguire l'applicazione, tipo "dotnet eseguire" e verrà compilare e avviare l'applicazione. Aprire un browser all'URL specificato nella stringa di output (ad esempio, indirizzo http://localhost:5000/) consente di interagire con l'app che si sta creando.  A questo punto, lo sviluppo è sufficiente scegliere il proprio editor preferito per compilare ed eseguire l'app.

Unit test

Dopo aver creato un'applicazione, è opportuno aggiungere supporto per unit test relativamente nelle prime fasi del ciclo di vita. Unit test può essere utilizzata con l'IDE come previsto, ma si può anche compilare ed eseguire unit test direttamente da CLI .NET. 

Si è notato che "dotnet nuovo" sono disponibili due tipi di progetto unit test diversi: xunit e mstest. Per iniziare, creare un progetto di unit test con preferito unit test del framework, ad esempio "dotnet nuovo xunit," di test e quindi nel tipo di cartella di progetto di test "dotnet Aggiungi riferimento < percorso di progetto da testare >" per aggiungere il riferimento al progetto CLI file per l'utente. Dopo aver creato un progetto di unit test, eseguire i progetti di test da CLI usando il comando "dotnet test". Indipendentemente dal tipo di progetto che si è scelto, xunit sia mstest progetti sono supportati da Visual Studio e Visual Studio per Mac, nonché l'interfaccia CLI.

Visual Studio Code

Mentre si ha la possibilità di utilizzare qualsiasi editor desiderato, è considerato che codice di Visual Studio offre un'esperienza ottimale per gli utenti che desiderano un Agile strumento di modifica in combinazione con l'interfaccia CLI di .NET Core.  Codice di Visual Studio è l'editor multipiattaforma leggero con controllo del codice sorgente e supporto del debug incorporati. Utilizza l'interfaccia CLI .NET con codice di Visual Studio, è possibile compilare applicazioni .NET in qualsiasi piattaforma che prescelto. Per iniziare è necessario installare il SDK di .NET Core come spiegato in precedenza. Dopo aver creato, nel computer, installare Visual Studio Code da code.visualstudio.com e quindi installare l'estensione del linguaggio c# di Microsoft, in c# per il codice di Visual Studio (con tecnologia OmniSharp), selezionando la scheda di estensione sul lato sinistro del codice di Visual Studio. (Se si usa F #, è opportuno installare l'estensione Ionide fsharp, nonché. Si noti che l'estensione del linguaggio c# è necessario per la compilazione di .NET Core e supporto per il debug.) A questo punto si è pronti sviluppare progetti .NET Core con codice di Visual Studio. 

L'estensione del linguaggio c# consente al codice di Visual Studio chiamare l'interfaccia CLI per conto dell'utente per compilare ed eseguire applicazioni per il debug. Dopo aver creato il progetto, aprire Visual Studio Code e dal menu File scegliere Apri cartella. Si noterà un prompt dei comandi quando si apre un file c# (cs), una barra di suggerimenti nella parte superiore dell'editor di offerta per generare le risorse necessarie per la compilazione e debug, come illustrato figura 1. Scegliere Sì e genera due file, Tasks, che consente di compilazione dal codice di Visual Studio, e Launch, che consente il debug. A questo punto si è pronti modificare, compilare ed eseguire il debug direttamente dal codice di Visual Studio.

codice di Visual Studio per generare i file necessari per la compilazione e debug di offerta

Figura 1 codice di Visual Studio per generare i file necessari per la compilazione e debug di offerta

Visual Studio

Visual Studio continua a supportare un'esperienza di sviluppatore di qualità elevata e il supporto di strumenti per .NET Core non è diverso. Supporto di .NET core 2.0 è stata introdotta in Visual Studio 2017 (versione 15.3). Per iniziare a scrivere un'applicazione .NET Core 2.0 in Visual Studio, è necessario scaricare e installare il SDK 2.0 di .NET Core. Una volta nel computer in uso, riavviare Visual Studio e .NET Core 2.0 verrà visualizzato come una destinazione per i nuovi progetti.

L'obiettivo era Visual Studio 2017 l'esperienza di sviluppo più produttivo, che è stato mai offerto. Per l'hit evidenzia alcune, sono stati aggiunti miglioramenti di spostamento di codice, un numero significativo di nuovi comandi di correzione/rapida refactoring, imposizione di stile di codice e in tempo reale di Unit test.

Navigazione e Refactoring sappiamo che mentre si lavora nel codice è importante disporre di supporto ottimale per esplorare il codice di base. I miglioramenti più diffusi di navigazione di codice in Visual Studio 2017 sono:

  • Vai all'implementazione (Ctrl + F12): Consente di spostarsi da qualsiasi tipo di base o membro per le diverse implementazioni.
  • Passare a tutti (Ctrl + Maiusc o Ctrl +): Consente di passare direttamente a qualsiasi dichiarazione/tipo di file/simbolo membro. È possibile utilizzare le icone nella parte superiore della funzionalità per filtrare l'elenco di risultati o utilizzare la sintassi di query (ad esempio, "f searchTerm" per i file), "t searchTerm" per i tipi e così via.
  • Trova tutti i riferimenti (MAIUSC + F12): Ora con la colorazione della sintassi, i risultati di Trova tutti i riferimenti possono essere personalizzati raggruppati in base a una combinazione di progetto, definizione e il percorso. È inoltre possibile "bloccare" risultati in modo è possibile continuare a cercare altri riferimenti a senza perdere i risultati originali.
  • Rientro Guide: Punteggiato, grigio, linee verticali fungono da punti di riferimento nel codice per fornire contesto all'interno del frame di visualizzazione. È possibile riconoscere questi da più diffusi Productivity Power Tools.

Inoltre, non è sufficiente per poter passare semplicemente la base di codice. Sappiamo che, quando si individua posizioni nel codice per modificare o eliminare, è necessario strumenti che consentono il refactoring. Per agevolare, aver aggiunto il supporto per lo spostamento di un tipo in un file con lo stesso nome, la sincronizzazione di un file e digitare nome, l'aggiunta di un controllo null per un parametro, aggiunta di un parametro, l'aggiunta di un case switch/seleziona mancante, rendendo un metodo sincrono, la conversione di un metodo a proprietà ( e viceversa) e la risoluzione di un conflitto di merge, ovvero solo per citarne alcune. 

Stile del codice In Visual Studio 2017, è possibile configurare e applicare le convenzioni di codifica del team per la coerenza di unità tra l'intero repository con EditorConfig. EditorConfig è un formato di file aperti e abbiamo collaborato con la community per supportare lo stile di codice .NET all'interno di questo formato. I team possono configurare le preferenze di convenzione e scegliere come si applicate all'interno dell'editor (come i suggerimenti, avvisi o errori). Le regole applicate a qualsiasi file si trovano nella directory che contiene il file EditorConfig. Se si dispone di diverse convenzioni per progetti diversi, è possibile definire regole di ogni progetto nel file EditorConfig diversi, purché i progetti si trovano in directory separate. Poiché, alla fine del giorno, EditorConfig è un file di testo, è facile per archiviarlo nel controllo del codice sorgente e in tempo reale e si spostano con l'origine. Per ulteriori informazioni sul supporto di EditorConfig in Visual Studio, vedere aka.ms/editorconfig.

Live Unit test dopo aver creato un progetto di test di NUnit o xUnit o MSTest, è possibile abilitare Live Unit test (LUT) per i progetti .NET Core. LUT è una nuova funzionalità introdotta in Visual Studio 2017 Enterprise Edition. Quando si abilita LUT, ottenere unit test superato/non superato e copertura commenti e suggerimenti, in tempo reale nell'editor del codice durante la digitazione, come illustrato figura 2. Ciò significa che non è più necessario uscire dall'editor per eseguire unit test per verificare le modifiche al codice. Non appena si digita, verrà visualizzato un feedback immediato nell'editor che mostra i risultati per tutti i test che sono interessati dalla modifica del codice.

In tempo reale di Unit test in esecuzione in un progetto di .NET Core

Figura 2 in tempo reale esecuzione di Unit test in esecuzione in un progetto di .NET Core

I team che sono appassionati di qualità e gli utenti che preferiscono sviluppo basato su test (TDD) apprezzeranno l'aggiunta di nuovi. Per attivare LUT, passare alla voce di Test nella barra dei menu di Visual Studio e selezionare Live Unit test | Avviare.

Visual Studio per Mac

Visual Studio per Mac è l'ultimo membro della famiglia Visual Studio per gli sviluppatori che desiderano un'esperienza IDE sul macOS. Visual Studio per Mac è stato migliorato da Xamarin Studio, che offre il supporto per progetti c# e F #. Per iniziare, installare prima .NET Core 2.0 SDK (disponibile per il download da dot.net), scegliere Crea progetto, quindi selezionare la voce dell'App sotto la categoria di .NET Core per scegliere il modello di progetto desiderato. 

Sono disponibili è necessario un IDE completo per lo sviluppo di App .NET Core nel Mac, come illustrato figura 3. Una delle operazioni a che è attivamente impegnata consiste nel portare un'esperienza uniforme tra Visual Studio e Visual Studio per Mac. A questo punto, si hanno la maggior parte delle funzionalità che sono fare affidamento in Visual Studio, tra cui IntelliSense, spostamento di codice, il refactoring, integrazione del controllo unit test e di origine. Per lo sviluppo Web, è stata introdotta l'editor di Visual Studio HTML, CSS e JSON per Visual Studio per Mac. Si noterà che Razor (cshtml) i file e JavaScript o TypeScript non sono attualmente supportati, ma stiamo lavorando per portare tale supporto per Visual Studio per Mac in un aggiornamento futuro.

Visual Studio per Mac

Figura 3 Visual Studio per Mac

Strumenti con il Cloud moderne presente

Come mondo della tecnologia si evolve, una cosa è deselezionata, le app più sta per essere progettato per l'esecuzione nel cloud dall'inizio. Ciò significa che gli strumenti necessari attivare Progettazione modelli e procedure con il cloud moderno in considerazione, nonché di consentono di spostarsi rapidamente un'app dal computer di sviluppo locale al cloud.  Tenendo presente questo obiettivo, Visual Studio e Visual Studio per Mac dispongono di supporto incorporato per la pubblicazione direttamente a Microsoft Azure e per le applicazioni di creazione del pacchetto come contenitori Docker.

Pubblicare direttamente in Azure quando si è pronti a spostare un'applicazione in esecuzione nel cloud, sarà probabilmente si desidera iniziare cercando nel cloud con un minimo sforzo possibile. Visual Studio e Visual Studio per Mac consentono di pubblicare un'app direttamente dal computer in uso in Azure App Service. Servizio App è un ambiente cloud completamente gestito che consente di eseguire l'app senza dover preoccuparsi complesso della configurazione o dell'infrastruttura di gestione.

Pubblicazione dell'app nel computer locale al servizio App di Azure da Visual Studio o Visual Studio per Mac è semplice come il pulsante destro del progetto e quindi scegliere pubblica. Verrà chiesto di immettere alcune informazioni, ad esempio l'URL univoco per l'app, e sarà possibile scegliere entrambi un esistente piano di servizio App (il numero di risorse è necessario riservato per la raccolta di App membro) o crearne uno nuovo se non hai ancora. Dopo aver immesso le informazioni, l'app verrà eseguito nel cloud in pochi minuti. 

Gli strumenti di sviluppo contenitore una delle operazioni che è sempre chiaro sullo sviluppo cloud moderne è che i contenitori intende rivoluzionare della modalità di progettare e compilare software. Contenitori consentono di creare un pacchetto dell'applicazione e tutte le relative dipendenze, tra cui una copia del runtime, in una singola unità, garantendo che le modifiche al server sottostante mai interromperà l'applicazione. In questo modo, un modello di architettura microservizio in cui si distribuisce ogni unità logica all'interno dell'applicazione come un contenitore separato, con un protocollo definito per comunicare tra di essi. Ciò consente di ridimensionare un intenso parti dell'applicazione in base alle esigenze senza pagare il costo della scalabilità l'intera applicazione e significa che le correzioni interessano solo il contenitore in corso di aggiornamento anziché l'intera applicazione.

Tenendo in considerazione, uno degli obiettivi con .NET Core è consentire di apportare il runtime premier per la creazione di microservizi nei contenitori. Visual Studio, Visual Studio per Mac e codice di Visual Studio supporta la creazione di applicazioni come contenitori Docker. Si noti che al momento della redazione del presente documento, gli strumenti di supporto per Visual Studio per Mac Docker richiede l'estensione strumenti di Docker e che Microsoft offre un'estensione Docker per Visual Studio Code supportare la creazione di contenitori di Docker.

Per creare un contenitore Docker, sono necessari strumenti di Docker per il sistema operativo installato (altre informazioni e per scaricare dal sito docker.com). Dopo aver creato i requisiti di installazione, è sufficiente per eseguire l'operazione in Visual Studio o Visual Studio per Mac fare clic sul progetto, scegliere Aggiungi e quindi selezionare il supporto di Docker. Un progetto docker-compose verrà aggiunta la soluzione e un Dockerfile al progetto. Queste risorse consentono il progetto da compilare in un contenitore Docker. Quando si esegue l'app dall'IDE, si sarà in esecuzione e debug dell'applicazione all'interno di un contenitore invece che nel computer host direttamente. Notizia eccezionale è che la pubblicazione all'esperienza di servizio App di Azure che è stato anche illustrato supporta i contenitori di Linux Docker pubblicazione.

Conclusioni

Se non si è ancora provato la creazione di un'applicazione .NET Core, non sono previsti tempi migliore per iniziare è ora. .NET core e .NET 2.0 Standard (come illustrato nell'articolo "Demistificazione .NET Core e .NET Standard") verificare la creazione di un'applicazione .NET semplice indipendentemente dallo stile di strumenti del sistema operativo, lingua o di lavoro desiderato. 

Ci auguriamo che questa presentazione degli strumenti di .NET Core disponibili trovato utile. È possibile continuare a seguire lo stato di avanzamento del team e futuri miglioramenti nel blog in aka.ms/dotnetblog. Provare gli strumenti sono descritti e fornire commenti e suggerimenti su cosa possiamo fare per migliorare ulteriormente l'esperienza di creazione di App .NET Core. È possibile lasciare commenti e domande i post di blog o inviare commenti e suggerimenti direttamente tramite Visual Studio e Visual Studio per Mac usando segnala un problema e fornire una funzionalità di suggerimento integrate l'IDE.


Andrew Hall è responsabile di gestione del programma per i linguaggi .NET e strumenti in Visual Studio. Dopo l'esportazione di scuola, applicazioni line-of-business ha scritto prima della restituzione dell'istituto di istruzione per il suo laurea in ambito informatico. Dopo aver completato il suo laurea, entrato team di diagnostica in Visual Studio in cui ha lavorato sugli strumenti di analisi del debugger, profilatura e il codice. Quindi è entrato al team di linguaggi e strumenti di .NET in cui lavora sul linguaggi .NET e gli strumenti di supporto, inclusi strumenti per ASP.NET, Web e di servizio App di Azure. È possibile raggiungere Hall tramite Twitter: @AndrewBrianHall.

Joe Morris è un programma di gestione per gli strumenti di .NET Core e Live Unit test in Visual Studio. Che detiene una laurea in ambito informatico. Ha iniziato la propria carriera come un consulente di sviluppatore di applicazioni per le aziende negli Stati Uniti nel 1990s. Entrato in Microsoft 1997 con Microsoft Consulting Services, spostare a Redmond Iowa e versioni successive. Negli ultimi due anni, il suo stato attivo è stato in strumenti di produttività per sviluppatori e di analisi statica del codice. È possibile raggiungere Cavaglieri tramite Twitter: @_jomorris.

Grazie per i seguenti esperti Microsoft che ha revisionato in questo articolo: Dustin Campbell, camera rossi, Livar Cunha, Mikayla Hutchinson, Mads Matthiesen Kristensen, Giordania e Kasey Uhlenhuth

 


Viene illustrato in questo articolo nel forum di MSDN Magazine