共用方式為


泛型和特定語言專案模型的比較

.Visual Studio 增益集在 Visual Studio 2013 中已不適用。 您應該升級您的增益集至 VSPackage 擴充套件。 如需升級的詳細資訊,請參閱 常見問題集:將增益集轉換成 VSPackage 擴充功能

Visual Studio 提供了兩種類型的專案模型:泛型專案模型和特定程式語言的專案模型。

泛型專案模型

泛型專案模型是以下列物件類型表示:

物件名稱

描述

Projects 集合

表示方案中所有的專案。

Project 物件

表示方案中的專案。

ProjectItems 集合

表示指定之專案中所有的項目。

ProjectItem 物件

表示指定之專案中的一個項目。

這些物件可以讓您在 Visual Studio 中管理任何語言類型的專案。 使用這些物件,您可以:

  • 儲存或刪除專案。

  • 根據 Visual Studio 範本,為專案建立新的專案項目。

  • 將現有檔案的專案項目加入專案。

  • 從專案移除專案項目。

  • 開啟、儲存及刪除專案中的專案項目。

特定語言專案模型

除了泛型專案的相關物件外,還有一組命名空間 (Namespace) 用來表示特定程式語言的專案和專案項目屬性。 這些命名空間是:

表示語言專案的主要物件是 VSProjectVSProject2VSProject2 衍生自 VSProject,而後者又衍生自 Project。 專案項目則是以 VSProjectItem 物件表示。

程式語言

命名空間

Visual C#

VSLangProjVSLangProj2VSLangProj80

Visual Basic

VSLangProjVSLangProj2VSLangProj80

Visual C++

Microsoft.VisualStudio.VCProjectMicrosoft.VisualStudio.VCProjectEngine

所有程式語言

EnvDTEEnvDTE80

由於特定語言的物件是從泛型物件衍生而來,因此其操作方式基本上相同,只不過特定語言的物件還可以讓您存取泛型的 ProjectProjectItem 物件所無法存取的其他屬性、方法和事件。

如需如何使用特定語言專案模型的詳細資訊,請參閱專案擴充性簡介

Visual Studio .NET Visual C++ 專案的變更

在 Visual Studio .NET 和之後的版本中,不再需要對 Visual C++ 的 ProjectItems 集合進行特殊處理。 也就是說,先前 Visual C++ Projects 集合是將所有的 Visual C++ 專案檔案儲存在平面圖式的清單中,現在則是像其他程式語言一樣以階層方式儲存這些檔案。

由於這個變更會影響現有的程式碼,在嘗試為 ProjectItems 集合加上索引以判斷某檔案是否位於該專案時,有一種方法可以在新的專案特定物件模型中模擬舊有行為。 主要的不同處是,您現在可以藉由呼叫 Visual C++ 物件中的 .Object,回到 DTE 物件模型。

[Visual Basic]

Dim proj as VCProject = DTE.ActiveSolutionProjects(1).Object
Dim fileColl as IVCCollection = proj.Files
Dim file as VCFile = fileColl.Item("MyFile.cpp")
Dim projItem as ProjectItem = file.Object

請參閱

工作

如何:以程式設計方式建立專案

如何:以程式設計方式建立專案項目

其他資源

控制方案及其專案