File Types and File Extensions in Visual Studio
File Types and File Extensions in Visual Studio
Studio
Visual Studio 2005
Other Versions
2 out of 41 rated this helpful Rate this topic
Visual Studio supports a large number of file types and their associated file extensions. This topic
includes a list of file types specific to Visual Studio. A complete list of extensions of files supported by
Visual Studio and its designers and tools is not within the scope of this topic; however, you can search
for a file extension in the index to get a list of related topics.
Solution Files (.sln and .suo)
Visual Studio uses two file types (.sln and .suo) to store settings specific to solutions. These files,
known collectively as solution files, provide Solution Explorer with the information it needs to display a
graphical interface for managing your files. They allow you to concentrate on your projects and final
goals rather than on the environment itself each time you return to your development tasks.
Extension Name Description
.sln Visual Studio
Solution
Organizes projects, project items and solution items into the
solution by providing the environment with references to their
locations on disk.
.suo Solution User
Options
Records all of the options that you might associate with your
solution so that each time you open it, it includes customizations
that you have made.
Project Files
Visual Studio uses a variety of file formats to store information specific to projects. For more
information, see the following Help topics:
Visual C++
File Types Created for Visual C++ Projects
Creating and Managing Visual C++ Projects
File Extensions for Resources
Unicode in MFC
Visual Basic, Visual C#, Visual J#
File Types and File Extensions in Visual Basic, Visual C#, and Visual J#
How to: Add and Delete Document Types and Associated File Extensions in the File Types
Editor
Source Control Services
How to: Add Source Control File Extensions
Deployment
File Types Management in Deployment
File Types Editor
Visual Studio Environment
PDB Files (C++)
File Types Created for Visual C++ Projects
Visual Studio 2005
Other Versions
2 out of 3 rated this helpful Rate this topic
This topic describes all the types of files that are associated with Visual C++ projects. The actual files
included in your project depend on the project type and the options you select when using a wizard.
Project Files and Makefiles
Files Created for CLR Projects
ATL Program or Control Source and Header Files
MFC Program or Control Source and Header Files
Precompiled Header Files
Resource Files
Help Files (WinHelp)
Miscellaneous Project Files
When you create a Visual C++ project, you might be creating a new solution, or you might be adding
a project to a solution. Non-trivial applications are commonly developed with multiple projects in a
solution.
Projects usually produce either an EXE or a DLL. Projects can be dependent on each other; during the
build process, the Visual C++ environment checks dependencies both within and between projects.
Each project has core source code, and depending on the kind of project, it may have many other files
containing various aspects of the project. The contents of these files are indicated by the file
extension. The Visual Studio development environment uses the file extensions to determine how to
handle the file contents during a build.
The following table shows common files in a Visual C++ project, and identifies them with their file
extension. Throughout this section, Projname represents the name of the project.
File
extension
Type Contents
.asmx Source Deployment file.
.asp Source Active Server Page file.
.atp Project Application template project file.
.bmp, .dib,
.gif, .jpg, .jpe,
.png
Resource General image files.
.bsc Compiling The browser code file.
.cpp; .c Source Main source code files for your application.
.cur Resource Cursor bitmap graphic file.
.dbp Project Database project file.
.disco Source The dynamic discovery document file. Handles XML Web
service discovery.
.exe, .dll Project Executable or dynamic-link library files.
.h Source The header, or include, file.
.htm, .html,
.xsp, .asp,
.htc, .hta, .xml
Resource Common Web files.
.HxC Project Help project file.
.ico Resource Icon bitmap graphic file.
.idb Compiling The state file, containing dependency information between
source files and class definitions, which can be used by the
compiler during minimal rebuild and incremental compilation.
Use the /Fd compiler option to specify the name of the .idb file.
See /Gm (Enable Minimal Rebuild) for more information.
.idl Compiling The interface definition language file. See Interface Definition
(IDL) File in the Platform SDK for more information.
.ilk Linking Incremental link file. See /INCREMENTAL for more
information.
.map Linking A text file containing linker information. Use the /Fm compiler
option to name the map file. See /MAP for more information.
.ncb Solution The no compile browser file.
.obj, .o Object files, compiled but not linked.
.pch Debug Precompiled header file.
.pdb Debug The program debug database file. See What Are .pdb Files? for
more information.
.rc, .rc2 Resource Resource script files to generate resources.
.sbr Compiling Source browser intermediate file. The input file for BSCMAKE.
.sln Solution The solution file.
.suo Solution The solution options file.
.srf Project The server response file. This file contains the HTML code for
an ATL Server application.
.txt Resource Text file, usually the "readme" file.
.vap Project Visual Studio Analyzer project file.
.vbg Solution Compatible project group file.
.vbp, .vip,
.vbproj
Project The Visual Basic project file.
.vcproj Project The Visual C++ project file. See Project Files and Makefiles for
more information.
.vdproj Project The Visual Studio deployment project file.
.vmx Project The macro project file.
.vup Project The utility project file.
For information on other files associated with Visual Studio, see File Types and File Extensions in Visual
Studio .NET.
Project files are organized into folders in Solution Explorer. Visual C++ creates a folder for source files,
header files, and resource files, but you can reorganize these folders or create new ones. You can use
folders to organize explicitly logical clusters of files within the hierarchy of a project. For example, you
could create folders to contain all your user interface source files, or specifications, documentation, or
test suites. All file folder names should be unique.
When you add an item to a project, you add the item to all configurations for that project, regardless
of whether or not the item is buildable. For example, if you have a project named MyProject, adding
an item adds it to both the Debug and Release project configurations.