Perché è solo un metodo principale senza parametri considerato come & # 8220; oggetto di avvio valido & # 8221; per un progetto C #?

StackOverflow https://stackoverflow.com/questions/1031261

  •  06-07-2019
  •  | 
  •  

Domanda

Ho scaricato un file zip di file di origine contenente un progetto C # con più punti di ingresso / metodi principali. Dato che volevo armeggiare, ne ho creato un altro come questo in un nuovo tipo / classe

class MyExperiments
   {
      static void Main(String[] args)
      {
         // do something
      }
   }

poi sono passato alle proprietà del progetto. Basta passare l'oggetto di avvio su MyExperiments eh? Con mia sorpresa, il menu a discesa non ce l'ha. Ho ricostruito, reso pubblico il metodo, provato un sacco di cose .. ma senza risultati. Alla fine ho modificato manualmente .csproj nel blocco note e poi ha funzionato. Più armeggiando, ho rimosso i parametri per renderlo

static void Main()

e ora le proprietà del progetto VS potevano "vedere" l'oggetto di avvio. Quindi ora posso selezionarlo usando il menu a discesa. Ho quindi aggiunto indietro String [] e tutto funzionava ancora.

Mi sembra un po 'strano (perché la forma più comune è un metodo Main con parametri per gli argomenti della riga di comando dai tempi C / C ++). MSDN afferma che il menu a discesa conterrà un avvio valido oggetti se esistono nel tuo progetto.

È stato utile?

Soluzione

Per fortuna l'hai incollato, è la "S" maiuscola in Main (String [] args) . Apparentemente VS usa una corrispondenza di testo ed è sensibile al maiuscolo / minuscolo. Come probabilmente dovrebbe essere.

Altri suggerimenti

lol - sembra un bug nell'IDE:

static void Main(String[] args) {}

non viene visualizzato, ma

static void Main(string[] args) {}

fa!

Aggiornamento: Risposta al Feedback / bug di Connect,

  

Grazie per il feedback! Sembra il   qui il problema è che la stringa " String "   parametro nel metodo principale deve   essere una stringa " completamente minuscola (ed esso   sembra essere stato sottolineato sul tuo   stackoverflow post). io vedo un   suggerimento qui per aggiornare il progetto   pagina delle proprietà per essere leggermente più intelligente   sulla raccolta dell'oggetto di avvio,   ma dato che c'è un ragionevole   soluzione alternativa, investiremo il nostro   risorse per stabilizzare e migliorare   prestazioni di VS2010. sto per andare   e risolvere il bug come " Wont   Fix " ma non esitate a farlo   riattiva il bug se ne hai   ulteriori domande / commenti.

     

Grazie, DJ Park C # IDE, Programma   Responsabile

Quindi sembra essere qualcosa che dovresti tenere in mente per ora - Gishu

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top