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