Team LiB   Previous Section   Next Section

A.2 Visual C++ Projects

There are five categories of Visual C++ projects: .NET, ATL, MFC, Win32, and General. The following sections describe each of these.

In VS.NET 2002, these projects were not divided into categories—all C++ projects were presented as a single category. Also, the .NET project types had slightly different names. In VS.NET 2003, these were changed to be more consistent with the project names used in VB, C#, and J# (although not entirely consistent, for some reason). The old names are given in parentheses after the new names.

A.2.1 Visual C++ .NET Projects

The following Visual C++ .NET projects (or managed C++ projects, as they are sometimes known) are available in Visual Studio .NET:

Windows Forms Application (.NET) (not available in VS.NET 2002)

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

Managed C++ Class Library)
Class Library (.NET) (was

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

Windows Control Library (.NET) (not available in VS.NET 2002)

This template creates a .NET class library intended to contain Windows Forms controls.

Managed C++ Web Service)
ASP.NET Web Service (was

This template creates an ASP.NET web application that provides a web service.

Managed C++ Application)
Console Application (.NET) (was

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

Windows Service (.NET) (not available in VS.NET 2002)

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

Managed C++ Empty Project)
Empty Project (.NET) (was

This template creates a Managed C++ project that initially contains no files.

A.2.2 Visual C++ ATL Projects

The following Visual C++ ATL projects are available in Visual Studio .NET:

ATL Project

This template creates an ATL-based DLL, executable, or Windows Service that implements one or more COM classes. By default, this project template uses the new attributed version of ATL.

ATL Server Project

This template creates an ATL Server ISAPI extension DLL that can be used to create a high-performance web-based UI.

ATL Server Web Service

This template creates an ATL Server ISAPI extension DLL that can be used to create a high-performance web service.

A.2.3 Visual C++ MFC Projects

The following Visual C++ MFC projects are available in Visual Studio .NET:

MFC ActiveX Control

This template creates an MFC-based ActiveX control. Its output will be an .ocx file.

MFC Application

This template creates an MFC Windows Application.

MFC DLL

This template creates a DLL that uses MFC.

MFC ISAPI Extension DLL

This template creates an MFC ISAPI extension.

A.2.4 Visual C++ Win32 Projects

The following Visual C++ Win32 projects are available in Visual Studio .NET:

Win32 Console Project

This template builds a command-line application. It creates a standard Win32 EXE file. This is essentially a specialized version of the Win32 Project template.

Win32 Project

This template builds a Windows Application, a Console Application, a DLL, or a static library. By default, these projects have no access to technologies such as the MFC or the ATL. Only the standard C++ libraries and the raw Win32 API are available. (The wizard provides options to enable MFC support in console or static library applications. You can also enable the ATL in console applications. This will allow you to use the classes these libraries define, but this wizard will not generate all of the framework code you would get with the library-specific templates.)

A.2.5 Visual C++ General Projects

The following Visual C++ general projects are available in Visual Studio .NET:

Custom Wizard

This template creates an MFC-based DLL project that can be integrated into VS.NET to create a custom wizard. (See Chapter 9 for information about other ways to create custom wizards for VS.NET.)

Extended Stored Procedure

This template creates a DLL that can be used in SQL Server as an extended stored procedure.

Makefile Project

This creates a project that will run nmake to build your application rather than using the normal VS.NET build mechanism. This can be useful if your existing project infrastructure relies heavily on traditional makefiles, and you do not want to introduce devenv.exe into your automated build process.

    Team LiB   Previous Section   Next Section