Changes in the Visual C++ 2005 Development Environment

In the Visual Studio Integrated Development Environment (IDE), the following features are new or are enhanced for Visual C++ 2005.

Browsing Source Code

  • The Call Browser window, which helps you easily navigate to code that either makes calls to a function, or makes calls from a function.

  • Inheritance browsing from Class View. For more information, see How to: Display Inheritance Graphs.

  • Live browsing enables features like Call Browser, Find Symbol Results Window, and all tool windows to operate for Visual C++ without generating a BSC file.


  • Identifiers that are defined with the The #define Directive directive are now supported in IntelliSense.

  • Symbols from namespaces that are specified with the using Directive (C++) directive are now supported in IntelliSense.

  • List Members no longer populates completion lists with symbols from all common libraries, such as Win32, ATL, STL, and MFC. Instead, it populates them with symbols from header files included in your program with the The #include Directive directive.

  • Templates symbols are now fully supported in IntelliSense. Furthermore, Explicit Template Specializations and Partial Template Specializations are also fully supported in IntelliSense.

  • The scalability of IntelliSense has increased from a maximum of 16,000 files per solution to 65,535 files per solution, with a limitation of 65,536 symbols per file.

Application Wizards and Project Templates


When you open a .NET Class Library or ASP.NET Web Service project created in a previous version of Visual C++, /Zl will be added to the Command Line property page for the compiler in the project setting dialog box, but msvcrt.lib and msvcmrt.lib will not be added to the linker's Additional Dependencies property. This will result in a linker error (LNK2001) when you build the project. To resolve the error, add msvcrt.lib and msvcmrt.lib to the linker's Additional Dependencies property or delete /Zl from the compiler's Command Line property page.

Project and Build System

  • VCBUILD.EXE, which builds Visual C++ projects and solutions from the command line. For more information, see VCBUILD Reference.

  • 64-bit platforms support. For more information, see How to: Configure Visual C++ Projects to Target 64-Bit Platforms.

  • Property Sheets (C++), which enable you save project settings in files that you can apply to additional projects on multiple computers. Property sheets also allow you to create User-defined Macros.

  • Property Manager, which helps you manage property sheets. To display this feature, select the Property Manager menu item from the View menu.

  • Custom build rules, which are defined in Rule Files. This feature facilitates building file extensions that require external build tools.

  • Physical view in Solution Explorer, which is available through the Show All Files button. Now you can drag files from Windows Explorer onto project nodes in Solution Explorer. The Show All Files button displays all file references in your project.

  • The References node was removed from Solution Explorer. The new Framework and References, Common Properties, <Projectname> Property Pages Dialog Box enables you to add references to .NET assemblies, COM components, or project components, to your .NET projects.

  • Profile-Guided Optimizations (PGO) build commands available through the project context menu (right-click a project node) in Solution Explorer; and PGO project property settings available through project property pages.

  • Multiprocessor Builds, which help you build multiple projects simultaneously.

General Features

See Also


Changes in Visual C++ 2005 and Earlier Editions


What's New in the Visual Studio Debugger