The following Visual Basic, Visual C#, and Visual J# projects are available in Visual Studio .NET:
This template creates a .NET-based Windows application with a Windows Forms GUI.
This template creates a .NET class library (DLL).
This template creates a .NET class library. There are only two differences between this and the Class Library template. First, newly created projects of this type have a reference to the Windows Forms components. Second, this template creates a project containing a Windows Forms user control by default.
This template creates an ASP.NET web application. VS.NET can create a new IIS web application on the web server, or it can just add the project files to an existing one. Since this template is designed for building web-based user interfaces, it includes a Web Form (WebForm1.aspx).
This template creates an ASP.NET web application. This is very similar to the ASP.NET Web Application template, the main difference being that instead of providing a Web Form as a starting point, it provides a skeleton web service (Service1.asmx).
This template creates an ASP.NET web application. This is very similar to the ASP.NET Web Application template, except that it is intended for building web sites designed to be accessed from mobile devices such as phones and PDAs. It therefore provides a single Mobile Web Form (MobileWebForm1.aspx) by default.
This template creates a .NET class library. It is very similar to the Class Library template, but it is intended for building libraries that contain controls that can be used in an ASP.NET application. It therefore has references to the ASP.NET components and provides a web user control.
This template builds a .NET-based command-line application.
This template creates a .NET-based Windows Service. It creates a class that inherits from System.ServiceProcess.ServiceBase.
This template creates a project file with no source files. By selecting Output Type from the project property page, you can build a Windows Application, a Console Application, or a Class Library project. (All of the non-Web Application project templates are essentially fancy versions of this simple template.) The default output type is Console Application.
This template creates a project file for building a web application, but like the Empty Project, it does not add any files to the project. (All of the ASP.NET application templates are all effectively extended versions of this base template.)
You can use this template instead of the Empty Project or Empty Web Project if you already have a folder that contains some or all of the source files you want to have in your project. If the folder is on the filesystem, the output type can be a Windows Application, a Console Application, or a Class Library project, the default being Windows Application. However, if you choose a web folder, the project will always build a Class Library, as ASP.NET applications can execute only DLLs.