Obiekt konfiguracji projektu
Obiekt konfiguracji projektu zarządza wyświetlaniem informacji o konfiguracji w interfejsie użytkownika.
Strony właściwości konfiguracji projektu
Dostawca konfiguracji projektu zarządza konfiguracjami projektu. Środowisko i inne pakiety, aby uzyskać dostęp do konfiguracji projektu i pobrać je, wywołaj interfejsy dołączone do obiektu dostawcy konfiguracji projektu.
Uwaga
Nie można programowo tworzyć ani edytować plików konfiguracji rozwiązania. Należy użyć polecenia DTE.SolutionBuilder
. Aby uzyskać więcej informacji, zobacz Konfiguracja rozwiązania.
Aby opublikować nazwę wyświetlaną, która ma być używana w interfejsie użytkownika konfiguracji, projekt powinien zaimplementować element get_DisplayName. Środowisko wywołuje GetCfgsmetodę , która zwraca listę wskaźników, których można użyć do pobrania nazw wyświetlanych IVsCfg
informacji o konfiguracji i platformie, które mają być wyświetlane w interfejsie użytkownika środowiska. Aktywna konfiguracja i platforma są określane przez konfigurację projektu przechowywaną w konfiguracji aktywnego rozwiązania. Metoda FindActiveProjectCfg może służyć do pobierania konfiguracji aktywnego projektu.
Obiekt IVsProjectCfgProvider można opcjonalnie zaimplementować na IVsCfgProvider2 obiekcie z obiektem IVsCfgProviderEventsHelper , aby umożliwić pobranie IVsProjectCfg2
obiektu na podstawie nazwy konfiguracji projektu kanonicznego.
Innym sposobem zapewnienia środowiska i innych projektów z dostępem do konfiguracji projektu jest zapewnienie projektów implementacji IVsCfgProvider2::GetCfgs
metody zwracania co najmniej jednego obiektu konfiguracji. Projekty mogą również implementować IVsProjectCfg2element , który dziedziczy z elementu , a tym samym od IVsProjectCfg
IVsCfg
, w celu udostępnienia informacji specyficznych dla konfiguracji. IVsCfgProvider2 obsługuje platformy i funkcje dodawania, usuwania i zmieniania nazw konfiguracji projektu.
Uwaga
Ponieważ program Visual Studio nie jest już ograniczony do dwóch typów konfiguracji, kod, który przetwarza konfiguracje, nie powinien być zapisywany z założeniami dotyczącymi liczby konfiguracji ani nie powinien być napisany z założeniem, że projekt, który ma tylko jedną konfigurację, musi być debugowany lub detaliczny. To sprawia, że użycie get_IsReleaseOnly i get_IsDebugOnly przestarzałe.
Wywołanie metody QueryInterface
na obiekcie zwróconym z IVsGetCfgProvider::GetCfgProvider
polecenia pobiera IVsCfgProvider2
element . Jeśli IVsGetCfgProvider
nie można odnaleźć obiektu projektu przez wywołanie QueryInterface
IVsProject3
obiektu projektu, możesz uzyskać dostęp do obiektu dostawcy konfiguracji, wywołując QueryInterface
obiekt przeglądarki głównej hierarchii dla obiektu zwróconego dla IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_BrowseObject)
elementu lub za pomocą wskaźnika do dostawcy konfiguracji zwróconego dla IVsHierarchy::GetProperty(VSITEM_ROOT, VSHPROPID_ConfigurationProvider)
elementu .
IVsProjectCfg2
zapewnia przede wszystkim dostęp do obiektów zarządzania kompilacjami, debugowaniem i wdrażaniem oraz umożliwia projektom swobodę grupowania danych wyjściowych. Metody IVsProjectCfg
i IVsProjectCfg2
mogą służyć do implementowania IVsBuildableProjectCfg procesu kompilacji oraz IVsOutputGroup wskaźników dla grup wyjściowych konfiguracji.
Projekt musi zwrócić taką samą liczbę grup dla każdej konfiguracji, którą obsługuje, mimo że liczba danych wyjściowych zawartych w grupie może się różnić w zależności od konfiguracji. Grupy muszą również mieć te same informacje o identyfikatorze (nazwa kanoniczna, nazwa wyświetlana i informacje o grupie) z konfiguracji do konfiguracji w projekcie. Aby uzyskać więcej informacji, zobacz Project Configuration for Output (Konfiguracja projektu dla danych wyjściowych).
Aby włączyć debugowanie, konfiguracje powinny implementować .IVsDebuggableProjectCfg IVsDebuggableProjectCfg
to opcjonalny interfejs implementowany przez projekty, który umożliwia debugerowi uruchamianie konfiguracji i jest implementowany na obiekcie konfiguracji za pomocą polecenia IVsCfg
i IVsProjectCfg
. Środowisko wywołuje go, gdy użytkownik zdecyduje się uruchomić debuger, naciskając F5.
ISpecifyPropertyPages
i IDispatch
są używane w połączeniu ze stronami właściwości do pobierania i wyświetlania informacji zależnych od konfiguracji użytkownika. Aby uzyskać więcej informacji, zobacz Strony właściwości.