We recommend using Visual Studio 2017

Visual C++ Project Types


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Visual C++ Project Types.

You can use a project template to create the basic program structure, menus, toolbars, icons, references, and #include statements that are appropriate for the kind of project you want to create. Visual Studio includes several kinds of Visual C++ project templates and provides wizards for many of them so that you can customize your projects as you create them. Immediately after you create a project, you can build it and run the application—it's good practice to build intermittently as you develop your application.

You don't have to use a template to create a project, but in most cases it's more efficient to do so because it's easier to modify the provided project files and structure than it is to create them from scratch.

System_CAPS_ICON_note.jpg Note

You can create a C-language project by using C++ project templates. In the generated project, locate files that have a .cpp file name extension and change it to .c. Then, on the Project Properties page for the project (not for the solution), expand Configuration Properties, C/C++ and select Advanced. Change the Compile As setting to Compile as C Code (/TC).

Visual Studio the following Visual C++ project templates.

Store Apps

C#, VB, and C++ project templates for Store apps


Project templateHow to create a project
ATL ProjectCreating an ATL Project


Project template
(NOTINBUILD)Class Library Template (C++)
How to: Create CLR Console Applications (C++/CLI)
NOTINBUILD CLR Empty Project Template (C++)


Project templateHow to create a project
Empty ProjectCreating Solutions and Projects
Custom WizardCreating a Custom Wizard
Makefile ProjectCreating a Makefile Project


Project templateHow to create a project
MFC ActiveX ControlCreating an MFC ActiveX Control
MFC ApplicationCreating an MFC Application
MFC DLLCreating an MFC DLL Project


Project templateHow to create a project
Managed Test ProjectCreate a unit test project
Native Unit Test ProjectUnit testing native code with Test Explorer


Project templateHow to create a project
Win32 Console ProjectCreating a Console Application
Win32 ProjectHow to: Create a Windows Desktop Application

Many of the files generated by a project template contain TODO comments to help you identify where you can provide your own source code. For more information about how to add code, see Adding Functionality with Code Wizards and Working with Resource Files.

Creating Desktop Projects By Using Application Wizards
Using Projects to Create Applications
CLR Projects