Sdílet prostřednictvím


Jak: vlastnosti konfigurace přístupu pro konkrétní typy projektů

Visual Studio Poskytuje obecné automatizace modelu Properties kolekce, který lze použít k přístupu Properties kolekce všech Visual Studio typ projektu.Mimo jiné vlastnosti projektu umožňují řídit nastavení zabezpečení, konfigurace sestavení a konfiguraci ladění.

Chcete-li ručně nastavit a zkontrolovat vlastnosti projektu, otevřete projekt v Visual Studio integrované vývojové prostředí (IDE).Na projektu nabídce klepněte na příkaz Vlastnosti.Vlastnosti okno má více záložek a každé podokno obsahuje vlastnosti, které slouží k definování a řízení chování projektů.Automatizace modelu umožňuje toto nastavení programově.Konkrétně vlastností uvedených v CSharpProjectConfigurationProperties4, VBProjectConfigurationProperties4, a ProjectConfigurationProperties3 k ovládání vlastností projektu na sestavení (kompilace pro Visual Basic projekty) a laděníVlastnosti podoknech okna Vlastnosti stránky aktivní konfigurace. 

Různé konfigurace není aktivní, můžete také pomocí přístupu ConfigurationManager objektu.Další informace naleznete v tématu Jak: Vytvoření konfigurace sestavení projektu a řešení.

Vlastnosti konfigurace Visual C# projekty jsou definovány v CSharpProjectConfigurationProperties4.ErrorReport a LanguageVersion vlastnosti, které jsou specifické pro Visual C# pouze projekty.Zbývající vlastnosti v CSharpProjectConfigurationProperties3 jsou stejné jako vlastnosti v ProjectConfigurationProperties3.

Tyto vlastnosti konfigurace přístupná přímo obsazení Property objekt na CSharpProjectConfigurationProperties3 nebo ProjectConfigurationProperties3 objektu.Tyto vlastnosti lze místo toho přístup předáním názvu položky konfigurace jako řetězce, jak je ukázáno níže:

    EnvDTE.Project proj;
    EnvDTE.Configuration config;
    EnvDTE.Properties configProps;
    EnvDTE.Property prop;
    proj = DTE.Solution.Projects.Item(1);
    config = proj.ConfigurationManager.ActiveConfiguration;
    configProps = config.Properties;
    prop = configProps.Item("EnableSQLServerDebugging")

Tento kód přistupuje buď CSharpProjectConfigurationProperties3.EnableSQLServerDebugging nebo ProjectConfigurationProperties3.EnableSQLServerDebugging vlastnost, podle toho, zda proj definuje proměnné Visual C# nebo Visual Basic projektu.

Ve skutečnosti vlastnosti konfigurace definované v CSharpProjectConfigurationProperties3 nebo ProjectConfigurationProperties3 seznam vlastností k dispozici konfigurace pro konkrétní projekty, které se používají jako položky konfigurace vlastností prostřednictvím projektu jsou Properties kolekce.

Následující kroky podrobně jak programově přistupovat k vlastnosti konfigurace aktivní konfigurace v Visual Studio doplněk.

[!POZNÁMKA]

Dialogová okna a příkazy v nabídkách menu, které vidíte, se mohou lišit od těch popsaných v nápovědě, v závislosti na vašich aktivních nastaveních nebo edici.Tyto postupy byly vyvinuty s aktivní Obecné nastavení pro vývoj.Chcete-li změnit nastavení, zvolte Import and Export Settings v menu Nástroje.Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Přístup k vlastnosti konfigurace pro konkrétní typ projektu

  1. Vytvoření Visual Studio projektu přidat pomocí Visual C# a výběrem možnosti načíst doplněk, při spuštění aplikace Visual Studio.

  2. Na projektu nabídky, klepněte na tlačítko Přidat odkaz na, klepněte .NET kartě vyberte bylo povoleno, VSLangProj, VSLangProj2, a VSLangProj80a klepněte na tlačítko OK.

  3. Následující použití příkazy přidáte na začátek souboru Connect.cs.

    using VSLangProj;
    using VSLangProj2;
    using VSLangProj80;
    using VSLangProj90;
    using VSLangProj100;
    using System.Windows.Forms;
    
  4. Přidáte následující funkce volání funkce OnConnection.

    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    VSProjectConfigProperties(_applicationObject);
    
  5. Přidáte metodu VSProjectConfigProperties pod OnConnection metoda.

    public void VSProjectConfigProperties(DTE2 dte)
    {
        try
        {
            // Open a Visual C# or Visual Basic project
            // before running this add-in.
            Project project;
            Configuration config;
            Properties configProps;
            Property prop;
            project = _applicationObject.Solution.Projects.Item(1);
            config = project.ConfigurationManager.ActiveConfiguration;
            configProps = config.Properties;
            prop = configProps.Item("PlatformTarget");
            MessageBox.Show("The platform target for this project is: "
     + prop.Value.ToString());
            prop = configProps.Item("WarningLevel");
            MessageBox.Show
    ("The warning level for this project is set to: " 
    + prop.Value.ToString());
            MessageBox.Show("Changing the warning level to 3...");
            prop.Value = "3";
            MessageBox.Show
    ("The warning level for this project is now set to: " 
    + prop.Value.ToString());
            if (project.Kind == PrjKind.prjKindCSharpProject)
            {
                MessageBox.Show("The project is a Visual C# Project");
                prop = configProps.Item("LanguageVersion");
                MessageBox.Show("The language version value is : " 
    + prop.Value.ToString());
                MessageBox.Show("Setting the language version to 
    ISO-1");
                prop.Value = "ISO-1";
                MessageBox.Show("The language version value is now: " 
    + prop.Value.ToString());
            }
    
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

    Metoda VSProjectConfigProperties načte a zobrazí PlatformTarget hodnotu vlastnosti.Jak nastaví a získává WarningLevel vlastnost.Pokud je projekt Visual C# projektu, VSProjectConfigProperties metoda nastavuje a získává LanguageVersion vlastnost.

  6. Vytvořit doplněk klepnutím na Sestavit řešení na sestavení nabídce.

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

  8. Na Nástroje nabídky, klepněte na tlačítko Správce doplňkůa vyberte doplněk z Správce doplňků dialogové okno.Klepněte na tlačítko OK spustit doplněk.

  9. Ověřit, že úroveň pro upozornění změnil klepnutím na Vlastnosti na projektu nabídky a výběrem sestavení karta v Vlastnosti okna.

    Úroveň pro upozornění pole odráží změny provádět programově.

  10. Ověřit nastavení verze jazyka pro Visual C# na projektu sestavení podokně Vlastnosti okno, klepněte na Upřesnit.

    Verze pole Rozšířené nastavení sestavení dialogové okno odráží doplněk provedené změny.

Příklad

Následující příklad je základní Visual Studio , který ukazuje, jak lze získat přístup k vlastnosti pro určitý typ projektu pomocí automatizace v Visual Studio.

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;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    VSProjectConfigProperties(_applicationObject);
}
public void VSProjectConfigProperties(DTE2 dte)
{
    try
    {
        // Open a Visual C# or Visual Basic project
        // before running this add-in.
        Project project;
        Configuration config;
        Properties configProps;
        Property prop;
        project = _applicationObject.Solution.Projects.Item(1);
        config = project.ConfigurationManager.ActiveConfiguration;
        configProps = config.Properties;
        prop = configProps.Item("PlatformTarget");
        MessageBox.Show("The platform target for this project is: 
" + prop.Value.ToString());
        prop = configProps.Item("WarningLevel");
        MessageBox.Show
("The warning level for this project is set to: " 
+ prop.Value.ToString());
        MessageBox.Show("Changing the warning level to 3...");
        prop.Value = "3";
        MessageBox.Show
("The warning level for this project is now set to: " 
+ prop.Value.ToString());
        if (project.Kind == PrjKind.prjKindCSharpProject)
        {
            MessageBox.Show("The project is a Visual C# Project");
            prop = configProps.Item("LanguageVersion");
            MessageBox.Show("The language version value is : " 
+ prop.Value.ToString());
            MessageBox.Show("Setting the language version to ISO-1");
            prop.Value = "ISO-1";
            MessageBox.Show("The language version 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 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)
    VSProjectConfigProperties(_applicationObject)
End Sub
Sub VSProjectConfigProperties(ByVal dte As DTE2)
    ' Open a Visual C# or Visual Basic project
    ' before running this add-in.
    Try
        Dim project As Project
        Dim config As Configuration
        Dim configProps As Properties
        Dim prop As [Property]
        project = _applicationObject.Solution.Projects.Item(1)
        config = project.ConfigurationManager.ActiveConfiguration
        configProps = config.Properties
        prop = configProps.Item("PlatformTarget")
        MsgBox("The platform target for this project is: "  _
        & prop.Value.ToString())
        prop = configProps.Item("WarningLevel")
        MsgBox("The warning level for this project is set to: "  _
        & prop.Value.ToString())
        MsgBox("Changing the warning level to 3...")
        prop.Value = "3"
        MsgBox("The warning level for this project is now set to: " _
        & prop.Value.ToString())
        If project.Kind = PrjKind.prjKindCSharpProject Then
            MsgBox("The project is a Visual C# Project")
            prop = configProps.Item("LanguageVersion")
            MsgBox("The language version value is : "  _
            & prop.Value.ToString())
            MsgBox("Setting the language version to ISO-1")
            prop.Value = "ISO-1"
            MsgBox("The language version value is now: "  _
            & prop.Value.ToString())
        End If
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub

Probíhá kompilace kódu

Tento kód kompilace, vytvořit nový Visual Studio přidat projektu a nahradit kód metody OnConnection s kódem v příkladu.Informace o spuštění v Postup: ovládání doplňky pomocí Správce doplňků.

Viz také

Další zdroje

Project Properties

Přístup k projektu typu určitého projektu, projektu položky a vlastnosti konfigurace