Christopher
Christopher

Reputation:

How to fix WPF error: "Program does not contain a static 'Main' method suitable for an entry point"?

Suddenly my whole project stopped compiling at all, showing the following message:

Program 'path_to_obj_project_folder' does not contain a static 'Main' method suitable for an entry point

I made no changes to project properties, just added some classes, moved some other classes into folders. Its an WPF Application project so it should be all OK. Entry point is where it should be, file App.xaml was not modified at all :(

What should I do to make it work again?

NOTE
For reference: if renaming the App.xaml this can happen. As OP stated, App.xaml was not altered; however, this is added for anyone that does rename the App.xaml.

Upvotes: 185

Views: 154835

Answers (13)

BenKoshy
BenKoshy

Reputation: 35575

How to check build action

As per Kent Boogaart's answer,

  • Check your App.xaml properties:
  • Ensure the Build Action is ApplicationDefinition

How do I check?

See the Giphy I recorded below:

See the giphy I recorded

Upvotes: 6

kuk
kuk

Reputation: 127

I have seen this error message when App.xaml (left-click) Properties/BuildAction was set to Page. Setting it to ApplicationDefinition solved the issue

Upvotes: 1

SYED NAWAZ PRINCE
SYED NAWAZ PRINCE

Reputation: 75

I have faced the problem while changing .net framework v4.7.2 to .net core 3.1, and solved by adding

<PropertyGroup>
    <UseWPF>true</UseWPF>   
</PropertyGroup>

in .csproj

Upvotes: 1

crakama
crakama

Reputation: 825

It is also possible to get this kind of error when working on WPF/UPF application and in your project's .csproj uses wrong SDK i.e <Project Sdk="Microsoft.NET.Sdk"> instead of <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

Upvotes: 3

Faraz Ahmed Qureshi
Faraz Ahmed Qureshi

Reputation: 98

As what, I guess pixparker wanted to say, but remained to be not clear enough, for me at least, do ensure that... All "Other Projects" have an "Output Type" of "Class Library" selected while... Only "One Project" being selected as either "Window Application" or "Console Application" output.

Upvotes: 0

AndyA
AndyA

Reputation: 221

Just in case anyone is having the same problem... I was getting this error, and it turned out to be my <Application.Resources> in my App.xaml file. I had a resource outside my resource dictionary tags, and that caused this error.

Upvotes: 22

pixparker
pixparker

Reputation: 3511

Project Properties \ Output file -> Select Class Library :)

Upvotes: 0

Arun Pandey
Arun Pandey

Reputation: 523

I have got the same error but then I found out that I typed small m instead of capital M in Main method

Upvotes: 1

leoneboaventura
leoneboaventura

Reputation: 435

Just in case someone is still getting the same error, even with all the help above: I had this problem, I tried all the solutions given here, and I just found out that my problem was actually another error from my error list (which was about a missing image set to be my splash screen. i just changed its path to the right one and then all started to work)

Upvotes: 1

Eugenio
Eugenio

Reputation: 400

In my case (after renaming application namespace manually) I had to reselect the Startup object in Project properties.

Upvotes: 6

Kent Boogaart
Kent Boogaart

Reputation: 178630

Check the properties of App.xaml. Is the Build Action still ApplicationDefinition?

Upvotes: 480

Kervin Ramen
Kervin Ramen

Reputation: 2583

Maybe the "Output type" in properties->Application of the project must be a "Class Library" instead of console or windows application.

Upvotes: 45

Ryan Lundy
Ryan Lundy

Reputation: 210080

You can also run into this if you're working on a WPF project that was started in VS 2010 (Beta 1), then moved into VS 2008.

Under the project properties, the .NET framework version gets unset (since .NET 4.0 isn't valid in VS 2008), and for some reason that causes this error.

If you set the .NET framework (e.g. to .NET 3.5), the error goes away.

Upvotes: 1

Related Questions