Nel 2014 Microsoft ha dichiarato open source la piattaforma di sviluppo .NET con licenza MIT. È culminato nel rilascio di .NET Core che gli sviluppatori .NET possono utilizzare per sviluppare applicazioni in Linux utilizzando linguaggi come C#. Mono è stata la piattaforma di sviluppo open source per il framework .NET.
È possibile utilizzare .NET o Mono per sviluppare applicazioni utilizzando linguaggi come C#, F#, Visual Basic e Vala. Le app possono essere distribuite su Linux, BSD, Windows, macOS, Tizen di Samsung (sistema operativo televisivo), Android, iOS e alcune console di gioco.
Configurazione dell'ambiente .NET su Fedora 35
Questo articolo è per gli sviluppatori .NET che desiderano utilizzare Fedora Linux come workstation principale. Innanzitutto, evidenzierò la configurazione di un ambiente di sviluppo completo per .NET su Fedora Linux, inclusi un editor IDE/di testo, Funzioni di Azure e un certificato SSL per un sito HTTPS sicuro.
Installa .NET SDK
Fedora ha aggiunto i pacchetti dotnet ai propri repository, rendendo l'installazione di .NET SDK abbastanza semplice. In precedenza, era necessario aggiungere i repository Microsoft all'elenco delle origini per installare dotnet tramite il gestore di pacchetti DNF.
Apri il tuo terminale ed esegui il seguente comando per installare gli ultimi pacchetti dotnet.
sudo dnf install dotnet
L'SDK .NET include il Runtime e consente di sviluppare app utilizzando la piattaforma .NET. Tuttavia, se devi solo eseguire app, installa Runtime. Se stai solo installando il runtime, ti consigliamo di installare il runtime ASP.NET Core poiché include sia i runtime ASP.NET Core che .NET.
Installa .NET 5
L'ultima versione di .NET disponibile nei repository di pacchetti Fedora predefiniti è .NET 5.
Installa l'SDK
Se installi .NET SDK, non è necessario installare il runtime corrispondente.
Esegui il comando seguente per installare .NET SDK.
$ sudo dnf install dotnet-sdk-5.0
Installa il runtime
Installa ASP.NET Core Runtime
Il runtime di ASP.NET Core consente di eseguire app che non hanno fornito il runtime durante lo sviluppo. È il runtime più compatibile per .NET ed è ampiamente utilizzato dagli sviluppatori .NET.
Esegui il comando seguente per installare ASP.NET Core Runtime.
$ sudo dnf install aspnetcore-runtime-5.0
Installa .NET Runtime
È possibile installare .NET Runtime come alternativa ad ASP.NET Core Runtime. Apri il tuo terminale ed esegui il seguente comando:
$ sudo dnf install aspnetcore-runtime-5.0
Si noti che .NET Runtime non include il supporto ASP.NET Core.
Installa NodeJS
Hai bisogno di NodeJS su Fedora Linux per sviluppare Funzioni di Azure o usare Azurite per emulare lo storage.
Installa Node.js tramite nvm
Il metodo richiede prima l'installazione di nvm per consentire l'installazione di Node.js in uno spazio utente Linux. Ciò significa che puoi quindi installare pacchetti globali come utente normale senza privilegi sudo. Nvm è un gestore di versioni node.js per gestire più versioni di Node.js su un unico sistema. Viene invocato per shell e funziona su diverse shell come sh, ksh, dash, zsh e bash.
Per installare o aggiornare nvm, dovresti eseguire il suo script di installazione. Quindi, puoi scaricare ed eseguire lo script manualmente o eseguire i seguenti comandi Wget o cURL per ottenere l'ultima versione (0.39.1).
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Dopo aver installato ed eseguito nvm nel sistema, esegui nvm install lts/* per installare l'ultima versione LTS di Node.js.
nvm install lts/*
Tieni presente che puoi comunque installare qualsiasi versione di Node.js insieme all'ultima versione. Esegui nvm install con il numero di versione di Node.js richiesto per il tuo progetto.
nvm install v15
Puoi anche installare più versioni di Node.js eseguendo il comando più volte.
nvm install v16
Installa Node.js dal repository di pacchetti Fedora predefinito
I repository di pacchetti predefiniti di Fedora contengono una versione stabile di Node.js. Per installare sia npm che Node.js, apri un terminale sul tuo sistema ed esegui il comando seguente.
$ sudo dnf install nodejs
Installerà una versione stabile ma non necessariamente l'ultima versione. Questo installerà il motore Javascript V8, il runtime Node.js e il gestore di pacchetti npm e le dipendenze.
Versioni alternative
Puoi anche ottenere versioni alternative come moduli Fedora. Prima di installare il modulo desiderato, puoi prima elencare tutti i moduli disponibili con il seguente comando.
Elenca tutte le versioni disponibili.
Lista dei moduli $ dnf
Installa una versione alternativa con il seguente comando.
$ sudo dnf module install nodejs:15
Controlla la versione di Node.js installata
$nodo -v
Installa Node.js dal repository ufficiale di Node.js
Il team di sviluppo ufficiale di Node.js fornisce un repository per l'installazione degli ultimi pacchetti per Fedora. Puoi scegliere di installare la versione più recente o stabile di Node.js.
Apri il terminale ed esegui il comando seguente per installare la versione stabile:
$ sudo dnf install -y gcc-c++ make$ curl -sL https://rpm.nodesource.com/setup_14.x | sudo -E bash -
Con il comando seguente, ora puoi installare NPM, Node.js e altre dipendenze.
$ sudo dnf install nodejs
Apri il tuo terminale ed esegui il seguente comando per aggiungere il repository richiesto e installare l'ultima versione:
$ sudo dnf install -y gcc-c++ make$ curl -sL https://rpm.nodesource.com/setup_16.x | sudo -E bash -
Quindi, installa Node.js, NPM e le dipendenze con il comando seguente.
$ sudo dnf install nodejs
Installa un IDE .NET
Codice Studio visivo
Per installare un codice di Visual Studio stabile, devi importare la chiave Microsoft e aggiungere il repository prima di installare i pacchetti corrispondenti.
Importa chiave Microsoft.
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
Aggiungi repository vscode.
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc"> /etc/yum.repos.d/vscode.repo'
Aggiorna la cache del tuo pacchetto Fedora e installa un codice VS a 64 bit stabile.
$ dnf check-update$ sudo dnf codice di installazione
Installa VS Code usando come pacchetto snap
Innanzitutto, assicurati di aver installato snap nel tuo sistema Linux. In caso contrario, installalo eseguendo il seguente comando:
Abilita snapd e Abilita il supporto dello snap classico creando un collegamento simbolico tra /var/lib/snapd/snap e /snap.
$ sudo dnf install snapd $ sudo ln -s /var/lib/snapd/snap /snap
Ora esegui il comando seguente per installare VS Code:
$ sudo snap install --classic code # o code-insiders
Al termine dell'installazione, il demone Snap aggiornerà automaticamente VS Code.
Installa VS Code come pacchetto rpm
È possibile scaricare e installare manualmente il pacchetto VS Code .rpm. Esegui i seguenti comandi per scaricare e installare il file .rpm utilizzando il gestore di pacchetti DNF:
$ wget https://go.microsoft.com/fwlink/?LinkID=760867$ sudo dnf install.rpm
Installa l'estensione C#
Per installare le estensioni c#, avvia VS Code, fai clic su (Ctrl+P), incolla il comando seguente e premi Invio.
ext install ms-dotnettools.csharp
L'estensione C# è utile per gli sviluppatori .NET. Fornisce le seguenti funzionalità aggiuntive in VS Code.
- Il supporto per la modifica di C# include l'evidenziazione della sintassi, la ricerca di tutti i riferimenti, IntelliSense, Vai a definizione e molti altri.
- Fornisce supporto per il debug di .NET Core (CoreCLR).
- Presenta strumenti di sviluppo leggeri per .NET Core.
- Supporto per progetti project.json e csproj su Linux, Windows e macOS.
Impostazione di VS Code come editor di testo predefinito
xdg-open
Puoi impostare l'editor di testo predefinito per i file di testo (testo/normale) utilizzato da xdg-open con il comando seguente:
xdg-mime default code.desktop text/plain
Pilota JetBrains
Il modo più semplice per installare Rider è installare JetBrains Toolbox e gestire il processo di installazione.
Installa JetBrains Toolbox
Passaggio 1:scarica il file .tar.gz di Jetbrain Toolbox per l'installazione di Linux dalla pagina di download di Toolbox.
Fase 2:estrai il file jetbrains-toolbox-xxxx.tar.gz.
Apri il terminale e modifica il directory in cui hai scaricato il file .tar.gz. Quindi estrai il contenuto del file con i seguenti comandi:
cd /jetbrains/download/directory/tar -xzvf jetbrains-toolbox-1.22.10970.tar.gz
Passaggio 3:aggiungi i permessi di esecuzione all'AppImage
Cambia la directory di lavoro corrente nella cartella in cui hai estratto i file e aggiungi i permessi di esecuzione all'AppImage con i seguenti comandi:
cd jetbrains-toolbox-1.22.10970chmod +x jetbrains-toolbox
Passaggio 4:esegui AppImage.
./jetbrains-toolbox
Nota che i numeri di versione che sto usando potrebbero differire dai tuoi. Sarebbe utile se li cambiassi di conseguenza.
Attendi qualche minuto finché non si apre una piccola finestra della Casella degli strumenti. Dopodiché, puoi eliminare i file scaricati. Ora puoi aprire JetBrains Toolbox dal menu dell'app. Per impostazione predefinita, AppImage installa le applicazioni in ~/.local/share/JetBrains.
Installa Rider
Nella casella degli strumenti JetBrains, cerca l'app Rider e fai clic su Installa. Puoi cambiare dove installare e altre opzioni dal menu delle impostazioni nell'angolo in alto a destra.
Al termine dell'installazione, apri Rider e scegli le preferenze che desideri fino al completamento del processo di configurazione. Ora hai installato Rider. Tieni presente che puoi sempre modificare le opzioni di configurazione andando su Configura -> Impostazioni nella schermata iniziale o su File -> Impostazioni nell'editor.
Estensioni di Visual Studio
VS Code è un eccellente editor di codice. Tuttavia, puoi migliorarne la funzionalità con le estensioni. Puoi includere diverse estensioni del linguaggio di programmazione di cui hai bisogno per i tuoi progetti. Gli esempi seguenti includono alcune estensioni che utilizzo per lo sviluppo di C#.
Estensione VS Code ESLint
Se sei un programmatore esperto, probabilmente hai sentito parlare di ESLint. È uno strumento essenziale che analizza il codice per trovare rapidamente i problemi. ESLint è integrato nella maggior parte degli editor di testo e puoi anche includerlo in VS Code come estensione. L'estensione utilizza la libreria ESLint installata nella directory dell'area di lavoro corrente. L'estensione cerca una versione di installazione globale se la directory non ne fornisce una.
Puoi installare ESLint localmente o globalmente eseguendo i seguenti comandi:
Per un'installazione locale nella tua directory di lavoro:
npm install eslint
Per un'installazione globale:
npm install -g eslint
Per installare l'estensione VS Code ESLint, avvia VS Code, fai clic su (Ctrl+P), incolla il comando seguente e premi invio.
installazione ext dbaeumer.vscode-eslint
PowerShell
L'estensione del linguaggio di PowerShell in VS Code offre un supporto avanzato per il linguaggio di PowerShell. Puoi scrivere ed eseguire il debug di script di PowerShell usando l'eccellente interfaccia simile a IDE fornita da Visual Studio Code. È dotato di PowerShell ISE them, evidenziazione della sintassi, frammenti di codice, IntelliSense per cmdlet, Vai a Definizione di variabili e cmdlet, debug degli script locali e molti altri.
Per installare l'estensione PowerShell, avviare VS Code, fare clic su (Ctrl+ P), incolla il comando qui sotto e premi invio.
installazione ext ms-vscode.PowerShell
Importatore di mappe e impostazioni di testo sublime
L'estensione Sublime Importer importa le associazioni di tasti e le impostazioni dall'editor di testo Sublime in Visual Studio Code. Questa estensione può tornare utile poiché trasferisce le famose scorciatoie da tastiera di Sublime Text su VS Code.
Avvia VS Code, fai clic (Ctrl+P), incolla il comando seguente e premi Invio per installare l'estensione.
ext install ms-vscode.sublime-keybindings
Azzurrite e Funzioni di Azure
Azurite è un server compatibile con l'API di archiviazione di Azure open source. Si basa su Node.js e offre esperienze multipiattaforma per gli utenti che vogliono implementare Archiviazione di Azure in un sistema locale. Una caratteristica fondamentale del pacchetto Azurite è che simula la maggior parte dei comandi di Archiviazione di Azure.
Installa il pacchetto del nodo Azurite
È necessario il pacchetto del nodo azzurrite per sviluppare Funzioni di Azure. Puoi installarlo con il seguente comando:
npm install -g azzurrite
Codice Studio visivo
Se si stanno sviluppando Funzioni di Azure con VSCode, è necessario installare il pacchetto azure-functions-core-tools. Al momento della stesura di questo articolo, l'ultima versione è la v3.
Esegui il comando seguente se desideri installare la v3.
npm i -g azure-functions-core-tools@3 –unsafe-perm true
Esegui il comando seguente per installare la v2.
npm i -g azure-functions-core-tools@2 –unsafe-perm true
Il passaggio successivo consiste nell'installare l'estensione Funzioni di Azure dal marketplace di Microsoft Visual Studio. Avvia VS Code, fai clic su (Ctrl+P), incolla il comando di seguito e premi Invio per installare l'estensione.
installazione ext Azurite.azurite
Una volta completata l'installazione, individuare l'icona di Azure nel pannello di sinistra per creare una nuova funzione di Azure dai modelli disponibili.
Pilota JetBrains
Se stai sviluppando Funzioni di Azure su Rider, devi prima installare Azure Toolkit per il plug-in Rider. Una volta installato il plug-in, riavvia l'IDE, quindi vai su Impostazioni -> Strumenti -> Azure -> Funzioni.
Se desideri che Rider gestisca automaticamente gli aggiornamenti dei pacchetti, fai clic su Scarica l'ultima versione. Assicurati inoltre che l'opzione "Verifica aggiornamenti per gli strumenti di Azure Function Core all'avvio" sia selezionata.
Quindi vai a Strumenti -> Azure -> Azurite e nel menu a discesa del percorso del pacchetto Azurite, seleziona la tua installazione di Azurite. Il mio esempio è simile al comando seguente.
~/.nvm/versions/node/v14.18.2/lib/node_modules/azurite.
Infine, fai clic su Salva. Ora sei pronto per creare Funzioni di Azure su Rider.
Crea un certificato SSL per le tue app .NET
Lo sviluppo di .NET con HTTPS sul tuo sistema Fedora richiede la creazione dei tuoi certificati SSL. Per questo, devi creare la tua autorità di certificazione (CA), impostare il tuo sistema Fedora in modo che sia affidabile, firmare il certificato e impostare .NET per utilizzare il certificato.
Nota che stiamo creando i nostri certificati SSL perché hai vinto non essere in grado di considerare attendibile il certificato .NET generato da dotnet dev-certs https –trust. Il comando non ha effetto su un sistema Fedora.
Installa lo strumento easy-rsa
Il primo passaggio consiste nell'installare lo strumento easy-rsa.
sudo dnf install easy-rsa
Configura una directory di lavoro (fossrsa) con i seguenti comandi:
cd ~mkdir .fossrsachmod 700 .fossrsacd .fossrsacp -r /usr/share/easy-rsa/3/* ././fossrsa init-pki
Crea un nuovo file denominato vars per modificare i dettagli della CA. Puoi modificare i dettagli in base alle tue esigenze.
cat <varsset_var EASYRSA_REQ_COUNTRY "US"set_var EASYRSA_REQ_CITY "NewYork"set_var EASYRSA_REQ_ORG "FOSS"set_var EASYRSA_REQ_EMAIL "[email protected]"set_var EASYRSA_REQ_OU "LocalDevEnvironment"set_var EASYRSA_ALGO "ec"set_ESTsha5112"OF" pre> Il passaggio successivo consiste nel creare la CA e considerarla affidabile.
./fossrsa build-ca nopassQuando si esegue il comando precedente, verrà richiesto il nome della CA. Premi Invio per utilizzare il valore predefinito.
sudo cp ./pki/ca.crt /etc/pki/ca-trust/source/anchors/easyrsaca.crtsudo update-ca-trustIl passo successivo è creare la richiesta per la nostra CA e firmarla. Dopo aver eseguito l'ultimo comando, digita yes e premi invio.
mkdir reqcd reqopenssl genrsa -out localhost.keyopenssl req -new -key localhost.key -out localhost.req -subj /C=US/L=NewYork/O=FOSS/OU=LocalDevEnvironment/CN=localhostcd ... /fossrsa import-req ./req/localhost.req localhost./fossrsa sign-req server localhostQuindi, posiziona tutti i file richiesti in una directory comune e crea il pfx cert. Dopo il comando finale, ti verrà richiesta una password. Digita una password complessa e assicurati di ricordarla e di mantenerla segreta.
cd ~mkdir .certscp .fossrsa/pki/issued/localhost.crt .certs/localhost.crtcp .fossrsa/req/localhost.key .certs/localhost.keycd .certsopenssl pkcs12 -export -out localhost.pfx -inkey localhost.key -in localhost.crtPer completare la configurazione, modifica il file ~/.bashrc e aggiungi le variabili di ambiente come segue.
cat <> ~/.bashrc# .NETexport ASPNETCORE_Kestrel__Certificates__Default__Password="YOUR_PASSWORD"export ASPNETCORE_Kestrel__Certificates__Default__Path="/home/USERNAME/.certs/localhost.pfx"EOF Nota:sostituisci YOUR_PASSWORD con la tua password esistente e USERNAME con il tuo nome utente effettivo.
Ora riavvia il sistema per rendere effettive le modifiche.Crea un'applicazione console Hello World .NET
Ora che hai installato .NET Core, è giusto creare una semplice applicazione console "Hello World". Il comando dotnet fornisce l'applicazione di esempio come un'applicazione "ciao mondo".
Creare una directory di progetto e l'infrastruttura di codice richiesta. Quindi, usa il comando dotnet seguente con le opzioni new e console per creare una nuova applicazione solo console. L'opzione -o flag specifica il nome del tuo progetto.
$ dotnet nuova console -o helloFOSSIl comando sopra creerà una directory di lavoro chiamata 'helloFOSS.'
Passa alla tua directory di lavoro e guarda i file generati.
$ cd helloFOSS$ lshelloFOSS.csproj obj Program.csIl file Program.cs è un codice dell'app console C# contenente una semplice applicazione Hello World. Aprilo in un codice VS o in qualsiasi editor di testo preferito per visualizzarlo e modificarlo. È tutto semplice.
Il file Helloworld.csproj è il file di progetto compatibile con MSBuild. Nel nostro caso, il file non ha molto. Tuttavia, il file è significativo durante lo sviluppo di un sito Web o di un servizio Web.
Il codice standard di una nuova app console .NET.
utilizzando il sistema; namespace helloFOSS{class Program{static void Main(string[] args){Console.WriteLine("Hello World!");}}}Puoi modificare il codice standard in base ai requisiti della tua app.
utilizzando System;namespace helloFOSS{class Program{static void Main(string[] args){Console.WriteLine("Hello World! Its FOSSLINUX.COM");Console.WriteLine("FOSSLINUX.COM:Ottieni tutte le informazioni su Software Open Source gratuito!!");}}}Per eseguire il programma, utilizzare il comando dotnet run:
$ dotnet runHello World! È FOSSLINUX.COMFOSSLINUX.COM::Ottieni tutte le informazioni sul software Open Source gratuito!!Note:comando dotnet run
- Il comando dotnet run ha creato il codice ed eseguito il codice appena creato.
- Ogni volta che invochi dotnet run, controlla se il file *.csproj è stato modificato prima di eseguire il comando dotnet restore.
- Controlla se il codice sorgente è stato alterato. Se ci sono nuove modifiche, esegue il comando dotnet build per compilare l'eseguibile.
- Infine, eseguirà l'eseguibile.
Quando crei un'applicazione dotnet, crei un assembly, una libreria e, sì, un file DLL. Pertanto, quando invochi il comando dotnet run, il processo dotnet richiama il file DLL e diventa la tua applicazione. La DLL appena creata è portatile e verrà eseguita su qualsiasi sistema con installato .NET Core, sia Linux, macOS o Windows.
Modelli .NET Core per siti Web e servizi Web
I modelli .NET Core sono essenziali per gli sviluppatori C# e includono il supporto per C#, F# e Visual Basic. Puoi ottenere un elenco di modelli integrati in .NET Core usando il comando dotnet new –list.
Alcuni modelli .NET Core sono creati da terze parti e sono disponibili con il comando dotnet new. Puoi dare un'occhiata ad alcuni di questi modelli per semplificare un po' la tua vita di sviluppo.Componenti di sviluppo .NET aggiuntivi
Poiché stai usando Visual Studio Code per lo sviluppo C#, potresti aver esplorato alcune estensioni per potenziare il tuo sviluppo. Un ambiente di sviluppo completo richiede strumenti aggiuntivi per l'automazione della build, il test, la distribuzione e la containerizzazione. L'elenco seguente include strumenti che puoi esplorare ulteriormente e avere nel tuo arsenale di strumenti di sviluppo C#.
Strumenti di automazione della creazione: Costruzione torta
Cake (C# Make) è una versione C# multipiattaforma dello strumento open source di automazione della build Make. Utilizza un DSL C# per la compilazione del codice, l'esecuzione di unit test, la compressione di file, la copia di file e la creazione di pacchetti.
Le sue caratteristiche principali includono il supporto per strumenti di compilazione come MSBuild, xUnit, MSTest, ILMerge, NUnit, NuGet, WiX e SignTool. Consulta la home page di Cake Build per la documentazione e le istruzioni complete.Automazione della distribuzione
OctopusDocker.DotNet
Octopus è leader in uno strumento di automazione della distribuzione per C#. Consente di automatizzare distribuzioni di applicazioni complesse. Alcune delle sue caratteristiche principali includono:
- Puoi effettuare rapidamente il provisioning e configurare nuove macchine per distribuire la tua app.
- Si integra con i server CI per estendere l'automazione della build e i processi CI.
- Garantisce implementazioni ripetibili e affidabili che incoraggiano i rilasci tra ambienti diversi.
Jenkin
Jenkins è uno degli strumenti di distribuzione, distribuzione e distribuzione CI più popolari. Alcune delle sue caratteristiche principali includono:
- Un'ampia raccolta di estensioni per soddisfare la maggior parte degli stack di sviluppo.
- Fornisce una soluzione end-to-end dalla creazione alla distribuzione.
- Offre plug-in per supportare la creazione, l'implementazione e l'automazione.
Containerizzazione:Docker.DotNet
Docker.DotNet è una libreria client C# per l'API Docker. Puoi usarlo per interagire con l'API Docker Remote a livello di codice. Le sue caratteristiche principali includono:
- Puoi installarlo tramite il gestore della libreria NuGet per Visual Studio.
- Abilita codice completamente asincrono, non bloccante e orientato agli oggetti in .NET
Conclusione
L'articolo è un'illustrazione completa della configurazione di un ambiente di sviluppo .NET e degli strumenti in Fedora 35. Gli sviluppatori utilizzano C#, F# e ASP.NET per creare servizi Web, siti Web, app desktop e giochi. Ho anche incluso alcune estensioni VS Code essenziali e altri strumenti per creare un solido ambiente di sviluppo .NET.
Per i principianti di C#, puoi controllare l'app della console Hello World per iniziare.