A.1 Visual Basic, C#, and J# Projects

The following Visual Basic, Visual C#, and Visual J# projects are available in Visual Studio .NET:

Windows Application

This template creates a .NET-based Windows application with a Windows Forms GUI.

Class Library

This template creates a .NET class library (DLL).

Windows Control Library

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.

ASP.NET Web Application

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).

ASP.NET Web Service

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).

ASP.NET Mobile Web Application

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.

Web Control Library

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.

Console Application

This template builds a .NET-based command-line application.

Windows Service

This template creates a .NET-based Windows Service. It creates a class that inherits from System.ServiceProcess.ServiceBase.

Empty Project

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.

Empty Web Project

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.)

New Project in existing folder

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.