Udostępnij za pośrednictwem


Jak: właściwości dostępu określonych typów projektów

Visual Studio Zawiera ogólne automatyzacji modelu Properties kolekcji, która może być używany do dostępu Properties zbiory wszelkich Visual Studio typu projektu.Między innymi właściwości projektu umożliwiają kontrolowanie ustawień zabezpieczeń, nazwę zestawu i tak dalej.

Aby ręcznie ustawić i bada właściwości projektu, otwórz projekt w Visual Studio zintegrowane środowisko dewelopowania (IDE).Na Projekt kliknij menu Właściwości.Właściwości okno ma wiele kart i każde okienko zawiera listę właściwości, które są używane do definiowania i kontrolować zachowanie projektów.Model automatyzacji pozwala na kontrolowanie tych ustawień programowo.W szczególności właściwości w ProjectProperties3 służą do określania właściwości projektu można odnaleźć na aplikacji, zasobów, Ustawienia, Ścieżki odniesienia i Podpisywanie okienek z Właściwości stronę Visual C# projektów.Właściwości zdefiniowane w VBProjectProperties3 pozwalają kontrolować ustawienia właściwości Visual Basic projektów, na aplikacji, zasobów, Ustawienia, odniesienia i Podpisywanie okienek z Właściwości strony.

Właściwości dla Visual C# projekty są zdefiniowane w ProjectProperties3.Właściwości dla Visual Basic projekty są zdefiniowane w VBProjectProperties3.MyApplication i MyType właściwości są specyficzne dla Visual Basic tylko projektów.Pozostałe właściwości w VBProjectProperties3 są takie same jak właściwości w ProjectProperties3.

Właściwości te nie mogą uzyskiwać bezpośrednio rzutowanie Properties obiektu do ProjectProperties3 lub VBProjectProperties3 obiektu.Zamiast tego, te właściwości muszą być udostępniane za pośrednictwem Properties kolekcji jako ciąg, aby określić, podając nazwę właściwości dla określonego typu projektu Property.Na przykład, kod, EnvDTE.Property prop = EnvDTE.Properties.Item("ApplicationIcon"); pozwala uzyskać dostęp do ApplicationIcon właściwości.

W efekcie właściwości zdefiniowane w ProjectProperties3 i VBProjectProperties3 są listy odwołania właściwości dostępne dla szczególnych projektów, które są dostępne jako właściwości elementów projektu.

Poniższe kroki szczegółowo jak uzyskiwać dostęp do tych właściwości programowo w Visual Studio dodatek.

[!UWAGA]

Okien dialogowych i poleceń menu, którą widzisz mogą różnić się od tych opisanych w pomocy, w zależności od tego, aktywne ustawienia lub edition.Procedury te zostały opracowane z ogólnych ustawień rozwoju aktywnych.Aby zmienić ustawienia, wybierz polecenie Importuj i Eksportuj ustawienia na Narzędzia menu.Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.

Mieć dostęp do właściwości dla określonego typu projektu

  1. Tworzenie Visual Studio -w projekcie przy użyciu Visual C#.

  2. Na Projekt menu, kliknij przycisk Dodaj odwołanie, kliknij przycisk .NET kartę wybierz VSLangProj, VSLangProj2, i VSLangProj80, i Sytem.Windows.Forms i kliknij przycisk OK.

  3. Dodaj następujące przy użyciu instrukcje do początku pliku Connect.cs.

    using VSLangProj;
    using VSLangProj2;
    using VSLangProj80;
    using VSLangProj90;
    using VSLangProj100;
    using System.Windows.Forms;
    
  4. Dodać wywołanie nową metodę o nazwie VSProjectProperies do metody OnConnection po wierszu, który ustawia _addInstance metody, jak pokazano:.

    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    VSProjectProperties(_applicationObject);
    
  5. Dodaj metodę VSProjectProperties, prawo poniżej metoda OnConnection.

    public void VSProjectProperties(DTE2 dte)
    {
        try
        {
            // Open a Visual C# or Visual Basic project
            // before running this add-in.
            Project project;
            project = _applicationObject.Solution.Projects.Item(1);
            Property prop;
            prop = project.Properties.Item("AssemblyName");
            MessageBox.Show("The assembly name is: " 
    + prop.Value .ToString());
            prop.Value = "MyTestAssembly";
            MessageBox.Show("The assembly name is now: " 
    + prop.Value.ToString());
            // If the project is a Visual Basic project, set
            // the MyApplication property.
            if (project.Kind == "{F184B08F-C81C-45F6-A5F6-5ABD9991F28F}")
    
            {
                MessageBox.Show("The project is a Visual 
    Basic Project");
                prop = project.Properties.Item("MyType");
                MessageBox.Show("The MyType value is: " 
    + prop.Value.ToString());
                prop.Value = "Class Library";
                MessageBox.Show("The MyType value is now: " 
    + prop.Value.ToString());
            }
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

    VSProjectProperties Metoda ustawia i pobiera AssemblyName właściwości przez przekazanie go jako Property ciąg, aby element Properties kolekcji.Jeśli projekt jest Visual Basic projektu, metoda VSProjectProperties również ustawia i pobiera MyType właściwości.

    W sekcji przykład wyświetla pełny kod.

  6. Budowanie dodatek, klikając Roztwór budować na budować Menu.

  7. Open a Visual C# or Visual Basic project in the Visual Studio IDE.

  8. Na Narzędzia menu, kliknij przycisk - w Menedżerzei wybierz dodatek z - W Menedżerze okno dialogowe.Kliknij przycisk OK do uruchomienia dodatku.

  9. Sprawdzanie poprawności, że nazwa zestawu został zmieniony przez kliknięcie przycisku Właściwości na Projekt menu, a następnie wybierając aplikacji kartę w Właściwości okna.

    Nazwy zestawu pole odzwierciedla zmiany dokonane w programowo.

Przykład

Poniższy przykład stanowi podstawowy Visual Studio dodatek, który demonstruje, jak uzyskiwać dostęp do właściwości, które są specyficzne dla typów projektów przy użyciu automatyzacji w Visual Studio.

using System;
using System;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using EnvDTE90;
using EnvDTE90a;
using EnvDTE100;
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
using VSLangProj90;
using VSLangProj100;
namespace myAddin
    public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
    {
        _applicationObject = (DTE2)application;
        _addInInstance = (AddIn)addInInst;
        VSProjectProperties(_applicationObject);
    }
    public void VSProjectProperties(DTE2 dte)
    {
        try
        {
            // Open a Visual C# or Visual Basic project
            // before running this add-in.
            Project project;
            project = _applicationObject.Solution.Projects.Item(1);
            Property prop;
            prop = project.Properties.Item("AssemblyName");
            MessageBox.Show("The assembly name is: " 
+ prop.Value .ToString());
            prop.Value = "MyTestAssembly";
            MessageBox.Show("The assembly name is now: " 
+ prop.Value.ToString());
            // If the project is a Visual Basic project, set
            // the MyApplication property.
            if (project.Kind == PrjKind.prjKindVBProject)
            {
                MessageBox.Show
("The project is a Visual Basic Project");
                prop = project.Properties.Item("MyType");
                MessageBox.Show("The MyType value is: " 
+ prop.Value.ToString());
                prop.Value = "Class Library";
                MessageBox.Show("The MyType value is now: " 
+ prop.Value.ToString());
            }
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
Imports System
Imports Microsoft.VisualStudio.CommandBars
Imports Extensibility
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Imports VSLangProj90
Imports VSLangProj100

    Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
        _applicationObject = CType(application, DTE2)
        _addInInstance = CType(addInInst, AddIn)
        VSProjectProperties(_applicationObject)
    End Sub
    Sub VSProjectProperties(ByVal dte As DTE2)
        ' Open a Visual C# or Visual Basic project
        ' before running this add-in.
        Try
            Dim project As Project
            project = _applicationObject.Solution.Projects.Item(1)
            Dim prop As [Property]
            prop = project.Properties.Item("AssemblyName")
            MsgBox("The assembly name is: "  _
            & prop.Value.ToString())
            prop.Value = "MyTestAssembly"
            MsgBox("The assembly name is now: "  _
            & prop.Value.ToString())
            ' If the project is a Visual Basic project, set
            ' the MyApplication property.
            If project.Kind = PrjKind.prjKindVBProject Then
                MsgBox("The project is a Visual Basic Project")
                prop = project.Properties.Item("MyType")
                MsgBox("The MyType value is: "  _
                & prop.Value.ToString())
                prop.Value = "Class Library"
                MsgBox("The MyType value is now: "  _
                & prop.Value.ToString())
            End If
        Catch ex As System.Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

Kompilowanie kodu

Aby skompilować kod, Utwórz nowy Visual Studio -w projekcie i Zastąp kod metody OnConnection z kodem w przykładzie.Aby uzyskać informacje o sposobach uruchamiania dodatku, zobacz Jak: dodatki formantu przy użyciu dodać Menedżera.

Zobacz też

Inne zasoby

Project Properties

Uzyskiwanie dostępu do określonego typu Projekt, element projektu i właściwości konfiguracji