One of the trickier parts of working with ASP.NET is deploying your application. First, unlike many traditional scripting languages such as PHP or classic ASP, ASP.NET is compiled. Second, SQL Server databases are not as easily transportable as other database like MySQL, for example, which many developers grew up with. Third, the complex nature of the framework may lead to many cases where things that work in development on your local machine fail on your remote web server, where you don’t have nearly as many tools available to debug the issues.
But don’t be intimidated—it’s still possible to deploy ASP.NET applications quite easily using Visual Web Developer Express and the SQL Server Hosting Toolkit.