Il programma non contiene un metodo 'Main' statico adatto per un punto di ingresso


169

Improvvisamente il mio intero progetto ha smesso di compilare, mostrando il seguente messaggio:

Il programma 'path_to_obj_project_folder' non contiene un metodo 'Main' statico adatto per un punto di ingresso

Non ho apportato modifiche alle proprietà del progetto, ho appena aggiunto alcune classi, spostato alcune altre classi in cartelle. È un progetto di applicazione WPF, quindi dovrebbe essere tutto OK. Il punto di ingresso è dove dovrebbe essere, il file App.xaml non è stato modificato affatto :(

Cosa devo fare per farlo funzionare di nuovo?

Risposte:


432

Controlla le proprietà di App.xaml . È Build Actionancora ApplicationDefinition?


10
Grazie, ciò ha parzialmente risolto il problema. Avevo copiato tutti i file da un vecchio progetto a un nuovo Windows Store Appprogetto, e invece Build Actionera impostato Pagesu ApplicationDefinition. Sono tornato a ApplicationDefinition, ma ho anche dovuto eliminare la cartella obj\Debug.
Richard H,

4
+1: fantastico! Davvero un vero toccasana. Stavo per creare un nuovo progetto e copiare tutto, ma questo ha funzionato. Cosa ho imparato: non scherzare con App.xaml ... Morde.
REVISIONATO il

1
Ho anche dovuto eliminare manualmente obj \ Debug; Ricostruzione Non tutto è stato risolto, non ho idea del perché ...
Jay Borseth,

Stesso problema in un'applicazione UWP VS 2017. La costruzione era per Pagepiuttosto cheApplicationDefinition
paurosa il

2
Build Actionpassa a Pagequando si esclude e si include nuovamente il file
App.xaml

46

Forse il "Tipo di output" in proprietà-> L'applicazione del progetto deve essere una "Libreria di classi" anziché un'applicazione console o Windows.


Quando si utilizza un compilatore CLI, il tipo di output Libreria di classi può essere specificato da un -t:libraryargomento.
Glutexo,

21

Nel caso in cui qualcuno abbia lo stesso problema ... Stavo ricevendo questo errore e si è rivelato essere il mio <Application.Resources>nel mio file App.xaml. Avevo una risorsa al di fuori dei tag del dizionario delle risorse e ciò ha causato questo errore.


Ho avuto una variazione leggermente diversa. Avevo tag Application.Resources vuoti e rimuovendo quelli riparati per me.
YC

6

Nel mio caso (dopo aver rinominato manualmente lo spazio dei nomi dell'applicazione) ho dovuto riselezionare l'oggetto Startup nelle proprietà del progetto.


1

Puoi anche imbatterti in questo se stai lavorando a un progetto WPF avviato in VS 2010 (Beta 1), quindi spostato in VS 2008.

Sotto le proprietà del progetto, la versione di .NET framework non viene impostata (poiché .NET 4.0 non è valido in VS 2008) e per qualche motivo che causa questo errore.

Se si imposta .NET framework (ad esempio .NET 3.5), l'errore scompare.


1

Nel caso in cui qualcuno stia ancora riscontrando lo stesso errore, anche con tutto l'aiuto sopra: ho avuto questo problema, ho provato tutte le soluzioni fornite qui e ho appena scoperto che il mio problema era in realtà un altro errore dal mio elenco di errori (che era su un'immagine mancante impostata per essere la mia schermata iniziale. Ho appena cambiato il suo percorso a quello giusto e poi tutto ha iniziato a funzionare)



0

Proprietà del progetto \ File di output -> Seleziona libreria di classi :)


0

Come dire, immagino Pixparker abbia voluto dire, ma è rimasto per non essere abbastanza chiaro, almeno per me, assicurati che ... Tutti gli "Altri progetti" abbiano un "Tipo di output" di "Libreria di classi" selezionato mentre ... Viene selezionato solo "Un progetto" come output "Applicazione finestra" o "Applicazione console" .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.