If you have ever tried setting a Windows Application startup object to Sub Main() instead of a Windows form, you may have come across this problem too.
Even if you have a Public Shared Sub Main() defined in one of your classes, the Sub Main option is not in the drop-down box of your project properties to select as a startup object.
This is a result of having the enable application framework checkbox checked in your project properties. Unchecking that box will repopulate the drop-down list of potential startup objects to include Sub Main.