共用方式為


專案持續性

持續性是專案的重要設計考慮。 大部分的專案都使用代表檔案的項目專案;Visual Studio 也支持數據不是以檔案為基礎的專案。 專案和項目檔所擁有的檔案都必須保存。 IDE 會指示專案儲存本身或項目專案。

專案的範本會傳遞至項目處理站。 根據特定項目類型的需求,範本應該支援所有項目專案的初始化。 這些範本稍後可以儲存為項目檔,並透過解決方案由 IDE 管理。 如需詳細資訊,請參閱 使用 Project FactorySolutions 建立項目實例。

項目專案可以是檔案型或非檔案型:

  • 檔案型專案可以是本機或遠端專案。 例如,在 C# 的 Web 專案中,遠端系統上檔案的聯機會保存在本機,而檔案本身則保存在遠端系統上。

  • 非檔案型專案可以將專案儲存至資料庫或存放庫。

認可模型

決定項目專案所在的位置之後,您必須選擇適當的認可模型。 例如,在具有本機檔案的檔案型模型中,可以自主儲存每個專案。 在存放庫模型中,您可以在一筆交易中儲存數個專案。 如需詳細資訊,請參閱 專案類型設計決策

若要判斷擴展名,專案會實 IPersistFileFormat 作 介面,以提供讓物件用戶端實 作 [另存新 檔] 對話框的資訊,也就是填入 [另存新檔類型 ] 下拉式清單並管理初始擴展名。

IDE 會呼叫 IPersistFileFormat 專案上的 介面,以指出專案應該視需要保存其項目專案。 因此,對象擁有其檔案和格式的所有層面。 這包括物件格式的名稱。

在專案不是檔案的情況下, IPersistFileFormat 仍會如何保存非檔案型專案。 Visual Basic 專案的 .vbp 檔案或 Visual C++ 專案的 .vcproj 檔案等專案檔也必須保存。

針對儲存動作,IDE 會檢查執行中的文件數據表 (RDT),而階層會將命令 IVsPersistHierarchyItem 傳遞給和 IVsPersistHierarchyItem2 介面。 實 IsItemDirty 作 方法以判斷專案是否已修改。 如果專案有,則會 SaveItem 實作 方法來儲存修改的專案。

介面上的 IVsPersistHierarchyItem2 方法可用來判斷是否可以重載專案,以及是否可以重載專案。 此外, IgnoreItemFileChanges 也可以實作 方法,讓變更的項目捨棄而不儲存。

另請參閱