Udostępnij za pośrednictwem


Ogólne a specyficzne dla języka modele projektów

Dodatki Visual Studio zostały zaniechane w programie Visual Studio 2013.Dodatki należy uaktualniać do pakietu rozszerzenia VSPackage.Aby uzyskać więcej informacji na temat uaktualniania, zobacz Często zadawane pytania: konwertowanie dodatków na rozszerzenia pakietu VSPackage.

Visual Studio oferuje dwa typy modeli projektu: model ogólny i model programowaniem w określonym języku.

Model ogólny projektu

Model ogólny projektu jest reprezentowany przez następujące typy:

Nazwa obiektu

Opis

kolekcja Projects

Reprezentuje wszystkie projekty w rozwiązaniu.

ProjectObiekt

Reprezentuje projektu w rozwiązaniu.

kolekcja ProjectItems

Reprezentuje wszystkie elementy w określonym projekcie.

ProjectItemObiekt

Reprezentuje element w określonym projekcie.

Obiekty te umożliwiają manipulowanie projektami typu języka w Visual Studio.Używając ich, można:

  • Zapisz lub usuń projekt.

  • Utwórz nowy element projektu dla projektu, na podstawie szablonów Visual Studio.

  • Dodaj elementy projektu do projektu z istniejących plików.

  • Usuń element projektu z projektu.

  • Otwórz, zapisz i usuń elementy projektu z projektu.

Model projektu specyficznego dla języka

Oprócz ogólnych obiektów związanych z projektem, zestaw przestrzeni nazw reprezentuje projekt specyficzny dla języka programowania i właściwości elementu projektu.Te przestrzenie nazw są:

Głównym obiektem, który reprezentuje projekty języka jest VSProject i VSProject2.VSProject2 pochodzi z VSProject, co z kolei wynika z Project.Elementy projektu są reprezentowane przez VSProjectItem obiekty.

Język programowania

Przestrzenie nazw

Visual C#

VSLangProj, VSLangProj2 i VSLangProj80.

Visual Basic

VSLangProj, VSLangProj2 i VSLangProj80.

Visual C++

Microsoft.VisualStudio.VCProject i Microsoft.VisualStudio.VCProjectEngine.

Wszystkie języki programowania

EnvDTE i EnvDTE80.

Ponieważ obiekty specyficzne dla języka dziedziczą z ogólnych, pracują zasadniczo tak samo, poza tym że daje dostęp do wszelkich dodatkowych właściwości, metod i zdarzeń, które nie są dostępne z ogólnych Project i ProjectItem obiektów.

Aby uzyskać więcej informacji na temat sposobu użycia modelu projektu specyficznego dla języka, zobacz Wprowadzenie do rozszerzalności projektów.

Zmiana dla projektów programu Visual Studio .NET, Visual C++

W programie Visual Studio .NET i nie tylko, specjalna obsługa ProjectItems kolekcji dla Visual C++ nie jest już wymagana.Oznacza to, podczas gdy Visual C++Projects kolekcji wcześniej przechowywanych wszystkich Visual C++ plików w formie płaskiej listy projektu, teraz są przechowywane pliki hierarchicznie jak i w innych językach programowania.

Ponieważ ta zmiana może wpływać na istniejący kod jest sposób na emulowanie starsze zachowanie w nowym modelu obiektów specyficznych dla projektu podczas próby indeks ProjectItems kolekcji, aby ustalić, czy plik znajduje się w projekcie.Podstawową różnicą jest to, że teraz można zwrócić do DTE modelu obiektowego przez wywołanie .Object na Visual C++ obiektu.

[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

Zobacz też

Zadania

Porady: programowane tworzenie projektów

Porady: programowane tworzenie elementów projektu

Inne zasoby

Kontrolowanie rozwiązania i jego projektów