Reputation:
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
Reputation: 35575
As per Kent Boogaart's answer,
App.xaml
properties:Build Action
is ApplicationDefinition
See the Giphy I recorded below:
Upvotes: 6
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
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
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
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
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
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
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
Reputation: 400
In my case (after renaming application namespace manually) I had to reselect the Startup object in Project properties.
Upvotes: 6
Reputation: 178630
Check the properties of App.xaml. Is the Build Action
still ApplicationDefinition
?
Upvotes: 480
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
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