I recently upgraded a 1.1 web project to a 2.0 web application. After going through the upgrade wizard and performing the "upgrade to web application" operation, everything looked fine. After closing and reopening Visual Studio, however, it insisted on treating the project as a web site, not a web application, and the "upgrade to web application" option was missing. I understand pretty well the differences between the two project types, but does anyone have a clear understanding of the differences in the csproj/sln/etc. files that tell Visual Studio what type of project it is?
Answering my own question:
I found some information here: http://hamang.net/2008/11/03/bug-vs-2008-web-application-project-opened-as-web-site/
The article is about VS 2008, but the information seems relevant to 2005, and the solution described worked.
Summarized: The .sln file has a "Project" node that in a web site project points to the project's folder, but in a web application project points to the .csproj/.vbproj file itself. Additionally, there may be a .webinfo file, which contains Visual Studio path information for the project; removing this file solved the problem.
I've found plenty of tutorials on upgrading, but little information on the details of how Visual Studio "understands" the type of project. If anyone has more information on the specifics (what is the .webinfo file for?), it would be much appreciated.