VB NET, .Net8 e oggetto di avvio

maurizio bianchella 35 Punti di reputazione
2025-04-01T07:58:01.4233333+00:00

Posso immaginare che la mia sia una domanda piuttosto banale, ma non riesco a risolvere.

Sto creando un nuovo progetto di tipo Windows Form in .Net 8. Di solito ho una form di avvio e quindi non ho problemi. In questo caso devo far partire il progetto da una sub Main, presente in un modulo.

In proprietà del progetto, applicazione, generale, ho l'opzione "Oggetto di avvio", ma nella casella a discesa posso solo scegliere, come avvio, una form.

Un po' come quando, con il framework 4.8 e sempre su applicazione di tipo Windows Form, si lascia spuntato "Abilita framework applicazione".

Naturalmente ho provato, anche nel progetto .NET 8, a cambiare questa impostazione, ma non cambia nulla.

Mi potete indicare come fare a far partire l'applicazione da una sub?

P.s. Se faccio la stessa cosa in C#, riesco tranquillamente ad avviare tramite sub.

Grazie

Tecnologie per sviluppatori | VB
Tecnologie per sviluppatori | VB

Un linguaggio di programmazione orientato agli oggetti sviluppato da Microsoft che può essere utilizzato in .NET.


5 risposte

Ordina per: Più utili
  1. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni

  2. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni

  3. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni

  4. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni

  5. MicheleArcangelo-4177 80 Punti di reputazione
    2026-05-29T10:45:07.37+00:00

    l comportamento che stai riscontrando è legato al fatto che, nei progetti Windows Forms in VB.NET, il "Framework dell'applicazione" (Application Framework) è attivo di default e tende a nascondere o bloccare la selezione della Sub Main manuale dall'interfaccia grafica delle proprietà del progetto.

    In C# non riscontri questo problema semplicemente perché C# non ha mai avuto il concetto di "Application Framework" tipico di VB.NET, e si basa sempre e comunque su un punto di ingresso statico (static void Main()).

    Ecco come puoi sbloccare la situazione in VB.NET e far partire il tuo progetto .NET 8 da un modulo con la Sub Main.

    Soluzione 1: Disabilitare l'Application Framework (Via Interfaccia Grafica)

    Questa è la procedura corretta per fare in modo che Visual Studio "veda" il tuo modulo e la tua Sub:

    • Nel pannello Esplora soluzioni, fai doppio clic su My Project (oppure clicca con il tasto destro sul nome del progetto e seleziona Proprietà).
    • Vai nella scheda Applicazione e poi clicca su Generale.
    • Cerca la casella di controllo chiamata "Abilita framework applicazione" (Enable Application Framework).
    • Togli la spunta da questa opzione.
    • Una volta tolta la spunta, vedrai che il menu a discesa della casella "Oggetto di avvio" (Startup object) si sbloccherà e ti permetterà finalmente di selezionare la tua Sub Main (o il nome del Modulo in cui risiede). Disabilitando l'Application Framework dovresti riuscire a gestire l'avvio in totale autonomia proprio come fai in C#. Se hai altri dubbi sulla configurazione iniziale, fammi sapere!

    La risposta è stata utile?


Risposta

Le risposte possono essere contrassegnate come "Accettata" dall'autore della domanda e "Consigliata" dai moderatori, in modo da consentire agli utenti di sapere che la risposta ha risolto il problema dell'autore.