In Visual Studio:
New->Project->ASP.NET Web application
What is the actual difference between these two, though we are opening webapplication?
Web Application Projects are projects, like any other Visual Studio project. They have a project file (.csproj or .vbproj) which is an MSBUILD description of how to build the project. This is how Web Applications were built on .NET since Day 1.
With Visual Studio 2005, Microsoft decided that this was too complicated. They got rid of Web Application Projects and replaced them with Web Site “projects”. These are not actually projects, but are rather a collection of files in a folder tree, on disk, on an FTP site, on IIS, etc.
They were loudly informed of their error, and quickly came out with Visual Studio 2005 SP1, which put Web Application Projects back in the system, where they are to this day, and always will be.
The code in a Web Application Project all gets compiled into a single DLL. The code in a Web Site is only compiled when it is referenced. This can be a benefit during development – I’m working on one now, and actually find it sort of cool to be able to change some C# code, save it, then press F5 in the browser to see the affect.
On the other hand, what I’m working on now actually is a web site – it’s not a web-based product that needs to be packaged up and shipped to customers. I may be old-fashioned, but I don’t like the idea that my code doesn’t compile before I ship it to customers. I was taught (the hard way) to test what I ship.