Udostępnij za pośrednictwem


Wprowadzenie do rozszerzalności projektów

Model obiekt jest dostępna po prostu przez dodawanie odwołania do zestawów VSLangProj do projekt: VSLangProj.dll, VSLangProj2.dll, VSLangProj80.dll, VSLangProj90a,.dlli VSLangProj100.dll zespołów.Aby uzyskać więcej informacji, zobacz Porady: dodawanie i usuwanie odwołań za pomocą okna dialogowego Dodaj odwołanie.Oznacza to, że modelu obiekt jest dostępna dla dodatków i dowolnego typu projekt , który należy rozszerzyć lub zautomatyzować IDE.Przykłady w tematach są zapisywane Visual Basic i Visual C# języków.Aby uzyskać więcej informacji na temat uruchamiania przykłady, zobacz Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.Dodatki mogą być zapisane w dowolnym Visual Studio obsługiwanych języka, takie jak Visual Basic, Visual C#, i Visual C++.Tematy referencyjne dla VSLangProj, VSLangProj2, VSLangProj80, VslangProj90 i VslangProj100 członków obejmują składnię dla każdego z tych języków.Aby uzyskać opis typów projekt automatyzacji i możliwości automatyzacji, zobacz Tworzenie dodatków i kreatorów.

Przestrzenie nazw VSLangProj

Tych nazw zawiera wszystkie klasy, interfejsy i wyliczenia dla Visual Basic i Visual C# projektów.Aby uzyskać pełną listę obiektów w przestrzeń nazw, zobacz Model obiektowy rozszerzalności Visual Basic i Visual C# dla projektów.

Możliwy błąd za pomocą zestawów VSLangProj z EnvDTE zestawu

Jeśli utworzyć projekt , który odwołuje się do jednego lub więcej zespołów VSLangProj i EnvDTE zestaw, można niekiedy otrzymać następujący błąd w czasie wykonywania:

"Nieobsłużony wyjątek: System.IO.FileNotFoundException: błąd podczas ładowania pliku" EnvDTE, Version = 7.0.3300.0 "

Ten błąd jest z powodu konfliktu rozdzielczości typu runtime.Oznacza to, że wersja EnvDTE dołączone do Visual Studio 2005 jest 8.0.xx, ale odniesienia konfiguracja projektposzukuje wcześniejszej wersji tego zestaw, wersja 7.0.xx.Aby rozwiązać ten problem, należy dodać przekierowania powiązań dla nowszej wersji EnvDTE do pliku konfiguracja (config) projekt.Umożliwi to Visual Studio do ładowania w nowszej wersji EnvDTE i zapobiec występowaniu błędu.

Aby to zrobić, Dodaj "Plik konfiguracji aplikacji" programu projekt , a następnie zamienić jego zawartość z następujących czynności:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-
        com:asm.v1" appliesTo="v2.0.50318">
            <dependentAssembly>
                <assemblyIdentity name="EnvDTE" publicKeyToken=
                "b03f5f7f11d50a3a"/>
                <bindingRedirect oldVersion="7.0.3300.0" 
                newVersion="8.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

Obiekt VSProject2

Ten obiekt zapewnia dostęp do innych obiektów w modelu rozszerzalności.DTE obiekt jest najwyższego poziomu obiekt w Visual Studio automatyzacji modelu.W modelu rozszerzalności ogólnego projekt jest reprezentowana przez ogólny Project obiekt. Project obiekt ma Object właściwość. Typ tej właściwość jest ustalona w czasie wykonywania przez język projekt.W Visual Basic lub Visual C# projekt Object właściwość zwraca obiekt typu VSProject2. Od typu Object właściwość obiektu, trzeba zrzutować odwołanie do typu VSProject2. Po odwołanie VSProject2 element, można manipulować właściwości projekt, konfiguracje, pliki, foldery, przywóz oświadczenia i odwołania.

Aby uzyskać więcej informacji, zobacz Wprowadzenie do obiektu VSProject2.

Odniesienia i obiekty odniesienia

References właściwość, zawarte przez VSProject2 obiektprzechowywana jest kolekcja Reference3 obiektów. Reference3 obiekt reprezentuje odwołania projekt i głównie jest tylko do odczytuobiekt , który obsługuje Remove metoda. References obiekt ma obsługę dodawania odniesienia (COM,.NET zestawów, ActiveX, inne projekty) i podnoszenie zdarzenia (Dodawanie, usuwanie i zmienianie odwołania).

References obiekt nie zawiera odwołania do sieć Web projekt. Odwołania do projekt sieć Web mogą być pobierane przez uzyskiwanie dostępu do ProjectItems właściwość WebReferencesFolder właściwość.

Aby uzyskać dodatkowe informacje i przykłady kodu, zobacz Reference i Reference3 obiekt References kolekcji, References właściwośći WebReferencesFolder właściwość.

Przywóz obiektu

Imports właściwość zawarte przez VSProject2 obiekt utrzymuje Kolekcja Imports instrukcji, które stosuje się do całego Visual Basic projekt. Jeżeli przywóz wyciąg jest dodawane do tej kolekcji, odpowiadające im Imports wyciąg (na przykład, Imports VSLangProj) nie ma być dodane do pliku kodu. Ten obiekt obsługuje dodawanie i usuwanie instrukcji przywozu oraz podnoszenie zdarzenia w odpowiedzi na dodawanie i usuwanie instrukcji.Brak jest odpowiednika w Visual C# projekti VSProject2.Importszwraca wartość właściwość Nothing lub null po zastosowaniu do Visual C# projekt. Aby uzyskać więcej informacji, zobacz Imports.

VSProjectItem i obiektów Obiekt BuildManager

VSProjectItem obiekt jest odpowiednikiem element projekt VSProject2 obiekt. W modelu rozszerzalności ogólne rodzajową ProjectItem obiekt reprezentuje element projekt . Object właściwość jest typu obiektu i w Visual Basic lub Visual C#jest typem tej właściwość projekt, VSProjectItem. VSProjectItem obiekt zawiera właściwości, które łącze do elementu nadrzędnego projekt i projekti wymusza wykonanie niestandardowe narzędzie dotyczących tego przedmiotu metoda . BuildManagerDanych wyjściowych narzędzia niestandardowe uchwyty do obiekt . Aby uzyskać więcej informacji, zobacz RunCustomTool metoda Wprowadzenie do obiektu BuildManager, VSProjectItem obiekti BuildManager obiekt.

Właściwości, właściwość

Ogólne extensibility model ma Properties właściwość w trzy obiekty:

  • Project obiekt   Właściwości tego obiekt są równoważne do właściwości znalezionych w Wspólnych właściwości kartę strony właściwości projekt okno dialogowe w IDE.

  • Configuration obiekt   Właściwości tego obiekt są równoważne do właściwości znalezionych w Właściwości konfiguracji kartę strony właściwości projekt okno dialogowe w IDE.

  • ProjectItem obiekt   Właściwości tego obiekt są równoważne do właściwości znalezionych w Właściwościokno po wybraniu elementu projekt w Solution Explorer.

  • W każdym przypadku Properties właściwość jest kolekcja obiektów typu właściwości. A Property obiekt można uzyskać z kolekcji, określając właściwośćindeksu opartego na 1 lub jego nazwa. Kolekcja zależą od języka.W przypadku elementów projekt zawartość zależy także, czy element jest plik lub folder.

Zobacz też

Koncepcje

Zakres automatyzacji w Visual Studio

Inne zasoby

Tworzenie dodatków i kreatorów