.NET è un framework di sviluppo software che Microsoft mette a disposizione di utenti e programmatori provvedendo periodicamente al suo aggiornamento. È progettato per creare e eseguire una vasta gamma di applicazioni e fornisce un’ampia libreria di classi e funzionalità predefinite, insieme a un ambiente di esecuzione virtuale (Common Language Runtime, CLR) che gestisce l’esecuzione del codice.
Da metà 2016, Microsoft distribuisce anche .NET Core, una versione open source e multi piattaforma di .NET. Progettato per essere modulare, più leggero e flessibile rispetto al .NET Framework tradizionale, .NET Core risulta compatibile con diverse piattaforme, inclusi Windows, macOS e varie distribuzioni Linux.
Sviluppare un’applicazione .NET senza installare Visual Studio
Visual Studio è un ambiente di sviluppo integrato (Integrated Development Environment, IDE) sviluppato da Microsoft. È uno strumento di sviluppo software estremamente popolare che fornisce un’ampia gamma di funzionalità per scrivere, compilare, debuggare e distribuire i propri programmi. La versione Visual Studio Community è completamente gratuita e può essere scaricata, installata e utilizzata senza particolari limitazioni.
Sapevate, tuttavia, che è possibile sviluppare applicazioni .NET anche dal prompt dei comandi di Windows o dalla finestra del terminale senza installare l’IDE Visual Studio? Come alternativa, è consigliabile servirsi dell’editor gratuito Visual Studio Code ma in sostituzione si può sfruttare qualunque editor di testo.
Cos’è e come funziona .NET CLI
.NET Command-Line Interface (CLI) è uno strumento basato su riga di comando, quindi sprovvisto di qualsivoglia interfaccia grafica, che permette di sviluppare, compilare, testare e distribuire applicazioni .NET. È parte integrante del pacchetto .NET Core e consente agli sviluppatori di interagire con i progetti .NET utilizzando la finestra del terminale.
Per sviluppare un’applicazione .NET senza ricorrere a Visual Studio è tuttavia necessario aver installato il pacchetto .NET SDK. Digitando cmd
nella casella di ricerca di Windows quindi premendo Invio e, infine, impartendo il comando dotnet --version
, deve comparire il numero di versione del pacchetto SDK.
Con la CLI dotnet
, si possono creare nuovi progetti .NET Core utilizzando il comando dotnet new
. Con dotnet build si può compilare il codice sorgente del progetto e creare un’implementazione eseguibile o distribuibile della propria applicazione .NET. Con il comando dotnet run
, si avvia l’applicazione compilata direttamente dal terminale.
Infine, il comando dotnet add package
permette di aggiungere al progetto eventuali pacchetti addizionali necessari per il corretto funzionamento dell’applicazione.
Creare la struttura di base dell’applicazione .NET
Il comando seguente permette di creare la struttura base per un’applicazione Windows Forms.
dotnet new winforms -n NomeProgetto
Nel nostro caso vogliamo creare una semplicissima applicazione che estrae alcune informazioni sulla configurazione del sistema. Utilizzeremo, quindi, la sintassi seguente per predisporre un’applicazione chiamata SystemInfo:
dotnet new winforms -n SystemInfo
Per default, l’applicazione è predisposta usando il linguaggio C#. Chi preferisse utilizzare, ad esempio, Visual Basic può usare la sintassi seguente:
dotnet new winforms --language VB -n SystemInfo
Va comunque tenuto presente che il codice che forniamo di seguito dovrà essere necessariamente riscritto per adattarlo alla sintassi Visual Basic.
Con il comando seguente ci si sposta all’interno della cartella del progetto, che nel frattempo è stata creata:
cd SystemInfo
Come modificare il progetto di base
Supponendo di aver già installato Visual Studio Code, digitando il semplice comando che segue in corrispondenza del prompt, l’editor Microsoft aprirà tutti i file che compongono il progetto in corso di sviluppo e ne consentirà la modifica:
code .
Alla comparsa della richiesta Do you trust the authors of the files in this folder, basta cliccare sul pulsante Yes, I trust the authors.
Nel file Form1.cs
, si trova la classe Form1
che rappresenta il form principale dell’applicazione. Qui è possibile intervenire sul codice per aggiungere, ad esempio, campi, pulsanti e modificare la barra del titolo della finestra. Provate a sostituire il codice C# presente con quello che vi presentiamo di seguito:
using System;using System.Windows.Forms;using System.Management;namespace ConfigApp{public partial class Form1 : Form{private TextBox textBoxConfig;public Form1(){InitializeComponent();InitializeTextBox();DisplaySystemConfig();DisplayHardwareConfig();this.Text = “Configurazione hardware e software”;}private void InitializeTextBox(){textBoxConfig = new TextBox();textBoxConfig.Multiline = true;textBoxConfig.ScrollBars = ScrollBars.Vertical;textBoxConfig.Dock = DockStyle.Fill;Controls.Add(textBoxConfig);}private void DisplaySystemConfig(){ManagementObjectSearcher searcher = new ManagementObjectSearcher(“SELECT * FROM Win32_OperatingSystem”);ManagementObjectCollection collection = searcher.Get();foreach (ManagementObject obj in collection){textBoxConfig.Text += “Nome OS: ” + obj[“Caption”] + Environment.NewLine;textBoxConfig.Text += “Versione OS: ” + obj[“Version”] + Environment.NewLine;// Aggiungi altri parametri che desideri visualizzare}}private void DisplayHardwareConfig(){ManagementObjectSearcher searcher = new ManagementObjectSearcher(“SELECT * FROM Win32_Processor”);ManagementObjectCollection collection = searcher.Get();textBoxConfig.Text += “Dettagli Hardware:” + Environment.NewLine;foreach (ManagementObject obj in collection){textBoxConfig.Text += “Processore: ” + obj[“Name”] + Environment.NewLine;// Aggiungi altri dettagli del processore se necessario}searcher = new ManagementObjectSearcher(“SELECT * FROM Win32_VideoController”);collection = searcher.Get();foreach (ManagementObject obj in collection){textBoxConfig.Text += “GPU: ” + obj[“Name”] + Environment.NewLine;// Aggiungi altri dettagli sulla scheda video se necessario}// Puoi aggiungere ulteriori ricerche WMI per altri componenti hardware come hard disk, scheda di rete, etc.}}}
Premendo la combinazione di tasti CTRL+S
, è possibile salvare le modifiche apportate al file Form1.cs
.
Come compilare l’applicazione ed eseguirla
I seguenti comandi, da impartire sempre utilizzando la finestra del terminale, consentono di aggiungere il pacchetto System.Management per accedere alle informazioni di sistema, compilare l’applicazione di test appena sviluppata (build) ed eseguirla (run):
dotnet add package System.Management
dotnet build
dotnet run
Adesso, se provate a copiare tutti i file contenuti nella sottocartella bin\debug
su un altro sistema Windows, quindi avviate il file eseguibile SystemInfo.exe
creato dalla CLI di .NET Core, noterete che la vostra applicazione verrà eseguita senza problemi.
Credit immagine in apertura: iStock.com/Yumi mini