Aracılığıyla paylaş


Proje Kalıcılığı

Kalıcılık, projeniz için tasarımda dikkat edilmesi gereken önemli bir noktadır. Projelerin çoğu dosyaları temsil eden proje öğelerini kullanır; Visual Studio, verileri dosya tabanlı olmayan projeleri de destekler. Hem projeye ait dosyalar hem de proje dosyası kalıcı olmalıdır. IDE, projeye kendisini veya bir proje öğesini kaydetmesini ister.

Projeler için şablonlar proje fabrikasına geçirilir. Şablonlar, belirli proje türünün gereksinimlerine göre tüm proje öğelerinin başlatılmasını desteklemelidir. Bu şablonlar daha sonra proje dosyaları olarak kaydedilebilir ve çözüm aracılığıyla IDE tarafından yönetilebilir. Daha fazla bilgi için bkz . Proje Fabrikalarını ve Çözümlerini Kullanarak Proje Örnekleri Oluşturma.

Proje öğeleri dosya tabanlı veya dosya tabanlı olmayabilir:

  • Dosya tabanlı öğeler yerel veya uzak olabilir. Örneğin C# dilindeki Web projelerinde, uzak sistemdeki dosyalara yönelik bağlantılar yerel olarak kalırken, dosyalar uzak sistemde kalır.

  • Dosya tabanlı olmayan öğeler, öğeleri bir veritabanına veya depoya kaydedebilir.

Modelleri İşleme

Proje öğelerinin nerede bulunduğuna karar verdikten sonra uygun işleme modelini seçmeniz gerekir. Örneğin, yerel dosyalar içeren dosya tabanlı bir modelde her proje otonom olarak kaydedilebilir. Depo modelinde, birkaç öğeyi tek bir işlemde kaydedebilirsiniz. Daha fazla bilgi için bkz . Proje Türü Tasarım Kararları.

Projeler, dosya adı uzantılarını belirlemek için bir nesnenin IPersistFileFormat istemcisinin Farklı Kaydet iletişim kutusunu uygulamasına olanak tanıyan bilgileri sağlayan arabirimini uygular; diğer bir deyişle, Farklı Kaydet Türü açılan listesini doldurup ilk dosya adı uzantısını yönetmesini sağlar.

IDE, projenin proje öğelerini uygun şekilde kalıcı hale getirmek için projedeki arabirimi çağırır IPersistFileFormat . Bu nedenle, nesnesi dosya ve biçiminin tüm yönlerine sahip olur. Bu, nesnenin biçiminin adını içerir.

Öğelerin dosya olmaması durumunda, IPersistFileFormat dosya tabanlı olmayan öğelerin kalıcı olması gerekir. Visual Basic projeleri için .vbp dosyaları veya Visual C++ projeleri için .vcproj dosyaları gibi proje dosyaları da kalıcı olmalıdır.

Kaydetme eylemleri için IDE, çalışan belge tablosunu (RDT) inceler ve hiyerarşi komutları IVsPersistHierarchyItem ve IVsPersistHierarchyItem2 arabirimlerine geçirir. IsItemDirty yöntemi, öğenin değiştirilip değiştirilmediğini belirlemek için uygulanır. Öğe varsa, SaveItem yöntemi değiştirilmiş öğeyi kaydetmek için uygulanır.

Arabirimdeki IVsPersistHierarchyItem2 yöntemler, bir öğenin yeniden yüklenip yüklenemeyeceğini belirlemek ve öğe olabilirse yeniden yüklemek için kullanılır. Ayrıca, IgnoreItemFileChanges yöntemi, değiştirilen öğelerin kaydedilmeden atılması için uygulanabilir.

Ayrıca bkz.