O programa não contém um método 'Principal' estático adequado para um ponto de entrada


169

De repente, todo o meu projeto parou de compilar, mostrando a seguinte mensagem:

O programa 'path_to_obj_project_folder' não contém um método 'Main' estático adequado para um ponto de entrada

Não fiz alterações nas propriedades do projeto, apenas adicionei algumas classes, movi outras para as pastas. É um projeto de aplicativo WPF, portanto tudo deve estar bem. O ponto de entrada é onde deveria estar, o arquivo App.xaml não foi modificado :(

O que devo fazer para que funcione novamente?

Respostas:


432

Verifique as propriedades do App.xaml . É o Build Actionainda ApplicationDefinition?


10
Obrigado, isso resolveu parcialmente o problema. Eu havia copiado todos os arquivos de um projeto antigo para um novo Windows Store Appprojeto e o Build Actionfoi definido como em Pagevez de ApplicationDefinition. Voltei para ApplicationDefinition, mas também tive que excluir a pasta obj\Debug.
Richard H

4
+1: Incrível! Verdadeiramente um salva-vidas. Eu estava prestes a criar um novo projeto e copiar tudo, mas isso funcionou. O que eu aprendi: não mexa com App.xaml ... Ele morde.
reSPAWNed

1
Eu também tive que excluir manualmente obj \ Debug; RebuildAll não corrigi-lo, nenhuma idéia porque ...
Jay Borseth

Mesmo problema em um aplicativo VS 2017 UWP. A compilação foi para Pagee nãoApplicationDefinition
Paulustrious

2
Build Actionmuda para Pagequando você excluir e re-incluir o arquivo App.xaml
CSharper

46

Talvez o "Tipo de saída" em propriedades-> Aplicação do projeto deva ser uma "Biblioteca de Classes" em vez de um aplicativo do console ou do Windows.


Ao usar um compilador CLI, o tipo de saída da Biblioteca de Classes pode ser especificado por um -t:libraryargumento.
Glutexo 9/09/15

21

Apenas no caso de alguém ter o mesmo problema ... Eu estava recebendo esse erro e ele acabou sendo meu <Application.Resources>no meu arquivo App.xaml. Eu tinha um recurso fora das minhas tags do dicionário de recursos e isso causou esse erro.


Eu tive uma variação ligeiramente diferente. Eu tinha tags Application.Resources vazias e a remoção das que foram corrigidas para mim.
YC

6

No meu caso (depois de renomear o namespace do aplicativo manualmente), tive que selecionar novamente o objeto Startup nas propriedades do Project.


1

Você também pode encontrar isso se estiver trabalhando em um projeto WPF iniciado no VS 2010 (Beta 1) e depois migrado para o VS 2008.

Nas propriedades do projeto, a versão do .NET framework fica desabilitada (já que o .NET 4.0 não é válido no VS 2008) e, por algum motivo, causa esse erro.

Se você definir a estrutura .NET (por exemplo, .NET 3.5), o erro desaparecerá.


1

Caso alguém ainda esteja recebendo o mesmo erro, mesmo com toda a ajuda acima: Eu tive esse problema, tentei todas as soluções fornecidas aqui e acabei de descobrir que meu problema era realmente outro erro da minha lista de erros (que era sobre uma imagem perdida definida como minha tela inicial. Eu apenas mudei o caminho para a direita e comecei a trabalhar)



0

Propriedades do projeto \ Arquivo de saída -> Selecionar biblioteca de classes :)


0

Acho que o pixparker queria dizer o que, mas ainda não estava claro o suficiente, pelo menos para mim, garanta que ... Todos os "Outros Projetos" tenham um "Tipo de Saída" de "Biblioteca de Classes" selecionado enquanto ... Somente "One Project" está sendo selecionado como saída "Window Application" ou "Console Application" .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.