Da Net.Framework a .NET

di il
11 risposte

Da Net.Framework a .NET

Ho sempre progmammato in .Net Framework. Per la prima volta nella mia vita ho adesso aggiornato un'applicazione VB.NET da Framework 4.8 a .Net8 utilizzando l'Assistente di Aggiornamento.

Dopo la conversione ho riscontrato solo alcuni errori, facilmente risolvibili.

Alcune domande:

  • Dopo la conversione le finestre del programma sono diventate più grandi. La size del form principale è aumentata automaticamente da 959; 644 a 1116; 737, immagino che sia perché la conversione ha modificato automaticamente tutti i caratteri da Sans Serif 8,25 pt a Segoe UI 9pt .
    Perché questa scelta automatica? Forse i caratteri da 8.25pt sono deprecati in .Net8 o quantomeno non consigliati?
    .
  • In applicazioni Net Framework molto semplici devo solo distribuire il file .exe e il file .exe.config, anche se in Debug e Release ce ne sono altri. Nella cartella Debug ora trovo moooolti più file e .dll, inesistenti in .Net Framework. Volendo redistribuire l' applicazion quali di questi file occorre necessariamente aggiungere nell'installer?
    .
  • Gli utenti devono installare qualcosa o i file .NET necessari sono normalmente distribuiti con Win 10/11 (come lo sono ad esempio le Framework 4.8) e chiunque abbia Win 10/11 può tranquillamente utilizzare programmi basati su .Net8??

Grazie. 

11 Risposte

  • Re: Da Net.Framework a .NET

    23/12/2025 - phil2000 ha scritto:

    Forse i caratteri da 8.25pt sono deprecati in .Net8 o quantomeno non consigliati?

    Non è una "deprecanza" del framework, quanto più degli "standard" (se così si possono chiamare) delle interfacce utente per le applicazioni Windows, che si adeguano alle linee guida di Microsoft in questo senso, per una questione di uniformità visuale con tutto il restante parco di applicativi.

    23/12/2025 - phil2000 ha scritto:

    Nella cartella Debug ora trovo moooolti più file e .dll, inesistenti in .Net Framework.

    Con il .NET Framework, la maggior parte delle DLL erano installate già sulla tua macchina, ad esempio nella GAC che ora non si usa più.

    Le librerie (anche quelle di sistema) le trovi quindi nella directory di output.

    23/12/2025 - phil2000 ha scritto:

    Volendo redistribuire l' applicazion quali di questi file occorre necessariamente aggiungere nell'installer?

    C'è il comando "Publish" che ti predispone le librerie che servono.

    23/12/2025 - phil2000 ha scritto:

    Gli utenti devono installare qualcosa o i file .NET necessari sono normalmente distribuiti con Win 10/11 (come lo sono ad esempio le Framework 4.8) e chiunque abbia Win 10/11 può tranquillamente utilizzare programmi basati su .Net8??

    Gli utenti devono avere installato il .NET Runtime, nella versione che hai usato per il programma: le librerie sono un conto, il runtime è un'altra cosa. :)

    Non devi avere l'SDK, che serve solo agli sviluppatori (come da nome/definizione).

    Se manca il runtime, te ne accorgi perché te lo dice appena avvii l'eseguibile.

  • Re: Da Net.Framework a .NET

    Grazie per la risposta.

    Quindi se ho ben capito con il comando "Publish" mi ritrovo con tutti i files che poi posso inserire in Inno Setup. Giusto?

    >Gli utenti devono avere installato il .NET Runtime...

    E qui ripropongo: i .NET Runtime sono già ricompresi " di default" in Windows e successivi aggiornamenti ?

  • Re: Da Net.Framework a .NET

    Ciao, phil2000

    Qualche anno fà anche io ho migrato da 4.8 .Net Framework a 8.0 .Net Core, attento a come li chiami e usi sono 2 cose ben distinte la prima oramai "Deprecata o Vecchia" ma ancora forse funzionante su PC/altri dispositivi anche essi "Vecchiotti"!!!

    .NET Runtime ( e mi sembra tu stia parlando .Net 8 ) li trovi o installati o devi metterceli tu ( esempio PC/Windows 11 "NUOVO" non li avrà ma avrà 9.0/10) a seconda che è appena stato Configurato con che Immagine S.O. 

    Attento alle librerie sono un discorso a parte !!!

    "Publish" di cui parla ALKA ( mitico ) usa ancora "click-one" se non sbaglio ma se sai usare "bene" Innosetup forse non è male.

    Byeee

  • Re: Da Net.Framework a .NET

    26/12/2025 - dpsandro ha scritto:

    .NET Runtime ( e mi sembra tu stia parlando .Net 8 ) li trovi o installati o devi metterceli tu ( esempio PC/Windows 11 "NUOVO" non li avrà ma avrà 9.0/10) a seconda che è appena stato Configurato con che Immagine S.O. 

    Ma le .NET runtime non sono roll-forward come le .Net Framework?

    Cioè, le mie vecchie utility basate su .Net Framework 4,6 girano benissimo su PC che hanno installate solo le 4.8.

    Riguardo a InnoSetup mi piacciono tutti gli add-on che posso inserire in codice e le millemila funzioni predefinite, con cui puoi fare qualsiasi controllo e inserire qualsiasi valore nel registro.

    Quello che devo capire è quali file devo inserire nell' installer tra quei duecento che ritrovo nella cartella Release. Con le Framework lo vedevo a colpo d' occhio.

  • Re: Da Net.Framework a .NET

    24/12/2025 - phil2000 ha scritto:

    Quindi se ho ben capito con il comando "Publish" mi ritrovo con tutti i files che poi posso inserire in Inno Setup. Giusto?

    Sì, al netto del runtime, da installare separatamente.

    24/12/2025 - phil2000 ha scritto:

    • E qui ripropongo: i .NET Runtime sono già ricompresi " di default" in Windows e successivi aggiornamenti ?

    Non il runtime di .NET Core, .NET e successivi. Solo .NET Framework (il predecessore) è già preinstallato, anche se spesso non si può prescindere dalla versione, quindi conviene comunque prevederne il setup, separatamente o integrato nella propria installazione, come prerequisito.

    26/12/2025 - phil2000 ha scritto:

    Ma le .NET runtime non sono roll-forward come le .Net Framework?

    Il .NET Runtime attuale (ossia commercialmente .NET, nome univoco), che è crossplatform, non esegue gli applicativi creati con la versione "classica" di .NET, ossia il .NET Framework, che è solo Windows e si basa su GAC e altri strumenti che non vengono più utilizzati.

    26/12/2025 - phil2000 ha scritto:

    Quello che devo capire è quali file devo inserire nell' installer tra quei duecento che ritrovo nella cartella Release.

    Idealmente, tutti tranne i file di debug (.pdb), che sono opzionali, ma potrebbero essercene altri a seconda dei package e delle dipendenze utilizzate.

    26/12/2025 - phil2000 ha scritto:

    Con le Framework lo vedevo a colpo d' occhio.

    Perché la maggior parte erano già preinstallati.

  • Re: Da Net.Framework a .NET

    27/12/2025 - Alka ha scritto:

    26/12/2025 - phil2000 ha scritto:

    Ma le .NET runtime non sono roll-forward come le .Net Framework?

    Il .NET Runtime attuale (ossia commercialmente .NET, nome univoco), che è crossplatform, non esegue gli applicativi creati con la versione "classica" di .NET, ossia il .NET Framework, che è solo Windows e si basa su GAC e altri strumenti che non vengono più utilizzati.

    Si, ok, questo è chiaro, ma forse non mi sono spiegato: se su un PC sono installate "solo" le .NET9, visto che le .NET sono roll-forward, una app basata su .NET8 dovrebbe funzionare senza problemi... o no?

    Da che mi risulta Microsoft distribuisce normalmente da mesi i .NET 9 tramite gli aggiornamenti di Windows. Io perlomeno li ho (CMD>dotnet --list-runtimes). Fermo restando che in un Setup con InnoSetup il controllo si fa con quattro righe di codice.

  • Re: Da Net.Framework a .NET

    28/12/2025 - phil2000 ha scritto:

    Si, ok, questo è chiaro, ma forse non mi sono spiegato: se su un PC sono installate "solo" le .NET9, visto che le .NET sono roll-forward, una app basata su .NET8 dovrebbe funzionare senza problemi... o no?

    Non è sempre così, tanto è vero che Core 8 ha una "vita più lunga" di Core 9 (fino a Novembre 2026 contro Maggio 2026 se non sbaglio). Comunque in generale sulla macchina dovrebbe esserci installato il runtime (con l'ultima patch) equivalente all'ambiente di destinazione scelto dallo sviluppatore, quindi Core 8 se sviluppato per Core 8 o Core 9 se sviluppato per Core 9.

  • Re: Da Net.Framework a .NET

    28/12/2025 - phil2000 ha scritto:

    Si, ok, questo è chiaro, ma forse non mi sono spiegato: se su un PC sono installate "solo" le .NET9, visto che le .NET sono roll-forward, una app basata su .NET8 dovrebbe funzionare senza problemi... o no?

    No, non è garantito sempre, soprattutto nel passaggio da una major version a un'altra.

    28/12/2025 - phil2000 ha scritto:

    Da che mi risulta Microsoft distribuisce normalmente da mesi i .NET 9 tramite gli aggiornamenti di Windows.

    Non è obbligatorio installarlo, che io sappia. O almeno, io aggiorno sempre Windows Update, ma non mi è mai stato proposto di installare .NET, salvo patch specifiche alle versioni che avevo già installato. Va detto però che, usando Visual Studio, io ce l'ho installato comunque perché lo uso sia per sviluppo che per esecuzione di programmi, quindi potrei ignorare altre "strade". :)

    28/12/2025 - phil2000 ha scritto:

    Fermo restando che in un Setup con InnoSetup il controllo si fa con quattro righe di codice.

    Mi sono dimenticato di dire anche che, in teoria, potresti pubblicare l'applicazione in modalità "self contained": in pratica, questo produce un output che contiene anche il runtime, tutto in uno, quindi in questo caso non hai bisogno di installarlo specificatamente a parte.

    Per contro, avrai una distribuzione molto più voluminosa proprio per questo motivo.

    Questi sono i casi in cui adoro usare un linguaggio e un compilatore nativo, che non ha bisogno di un runtime. :D

  • Re: Da Net.Framework a .NET

    29/12/2025 - Alka ha scritto:

    Mi sono dimenticato di dire anche che, in teoria, potresti pubblicare l'applicazione in modalità "self contained": in pratica, questo produce un output che contiene anche il runtime, tutto in uno, quindi in questo caso non hai bisogno di installarlo specificatamente a parte.

    Per contro, avrai una distribuzione molto più voluminosa proprio per questo motivo.

    Precisazione... "self contained" significa che può fungere anche su PC senza runtime, perché vengono usate le runtime contenute nell' eseguibile ?

    Altrimenti non ha senso aumentare di decine di mega una utility di 2 mega solo per avere il runtime pronto per installarlo automaticamenye sul PC in caso di mancanza... tanto vale controllare con InnoSetup.

    Mi sta venendo voglia di downgradare l' utility alle Framework 4.8, dove peraltro la vecchia versione funzionava benissimo.

  • Re: Da Net.Framework a .NET

    04/01/2026 - phil2000 ha scritto:

    Precisazione... "self contained" significa che può fungere anche su PC senza runtime, perché vengono usate le runtime contenute nell' eseguibile ?

    Significa che, oltre al tuo programma, viene distribuito anche tutto ciò che troveresti laddove il runtime è installato, quindi sì, funge sui PC senza runtime.

    04/01/2026 - phil2000 ha scritto:

    • Mi sta venendo voglia di downgradare l' utility alle Framework 4.8, dove peraltro la vecchia versione funzionava benissimo.

    Ma di che tipo di applicazione parliamo? Diciamo che se si tratta di un'applicazione Windows Forms, non è che ci siano chissà quali benefici ad aggiornarsi a .NET Core e successivi, visto che la natura cross-platform del framework è di poca utilità quando la tua applicazione in pratica necessita e si appoggia esclusivamente ad API di Windows. :)

  • Re: Da Net.Framework a .NET

    Si, la applicazione è WinForms.

    In realtà sono un vecchio (75 anni) ex programmatore VBA che continua a dilettarsi saltuariamente col solo scopo di tenere allenata la mente e rimandare più in là possibile l' inevitabile alzheimer.

    Sto riprendendo una mia semplicissima utility (CopyFolders, 200.000 downloads) portandola da Framework 4.8 a .NET8 col solo scopo di capire le differenze, che in effetti mi paiono ben poche. Forse la principale è l' abbandono dei cari, vecchi e semplicissimi My.Settings ed "aggiornarmi" rispetto a Framework che, da quanto leggo, sono considerate obsolete.

    Con le Framework con 2 mega di setup vado tranquillo, con .NET8 per stare tranquillo il setup praticamente diventerebbe di oltre 50 mega.

Devi accedere o registrarti per scrivere nel forum
11 risposte