Share via


Projects

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

In Visual Studio, projects are the containers that developers use to organize source code files and other resources that appear in Solution Explorer. Typically, projects are files (for example, a .csproj file for a C# project) that store references to source code files and resources like bitmap files. Projects let you organize, build, debug, and deploy source code, references to Web services and databases, and other resources. VSPackages can extend the Visual Studio project system in three main ways: project types, project subtypes, and custom tools.

In This Section

Project types add support for new kinds of projects, such as programming languages. For example, each language that Visual Studio supports has its own project type, and the IronPython integration sample includes a project type for the IronPython language. You must create a project type for languages other than C# or Visual Basic to customize how items are built, debugged, deployed, and displayed in Solution Explorer. For more information, see Project Types.

Project subtypes are based on project types and can be used to customize the way projects are built, debugged, and deployed. Visual Studio uses project subtypes with Smart Device projects; they customize deployment by copying a newly-built program from a development computer to the target device. The C# and Visual Basic project types can be used as the basis for project subtypes; C++ project types cannot. Your own project types can also be used as the basis for project subtypes. For more information, see Project Subtypes.

Explains Web project, which in turn create Web applications.

Explains what actually occurs when you create a new project.

  • VSSDK Samples Contains the samples in the VSSDK that deal with projects and solutions.

Explain different aspects of Visual Studio extensibility.