Udostępnij za pośrednictwem


Omówienie opcji konfiguracji

Projekty w programie Visual Studio mogą obsługiwać wiele konfiguracji, które można kompilować, debugować, uruchamiać i/lub wdrażać. Konfiguracja jest typem kompilacji opisanym z nazwanym zestawem właściwości, zazwyczaj przełącznikami kompilatora i lokalizacjami plików. Domyślnie nowe rozwiązania zawierają dwie konfiguracje: debugowanie i wydawanie. Te konfiguracje można zastosować przy użyciu ustawień domyślnych lub zmodyfikować w celu spełnienia określonych wymagań dotyczących rozwiązania i/lub projektu. Niektóre pakiety można tworzyć na dwa sposoby: jako edytor ActiveX lub jako składnik w miejscu. Projekty nie muszą jednak obsługiwać wielu konfiguracji. Jeśli dostępna jest tylko jedna konfiguracja, ta konfiguracja jest mapowana na wszystkie konfiguracje rozwiązania.

Konfiguracje zwykle składają się z dwóch części: nazwy konfiguracji (takiej jak Debugowanie lub Wydanie) i ustawień platformy. Nazwa platformy konfiguracji identyfikuje środowisko docelowe konfiguracji, takie jak zestaw interfejsu API lub platforma systemu operacyjnego. Użytkownicy programu Visual Studio nie mogą utworzyć platformy; muszą wybrać spośród wybranych opcji, na które zezwala pakiet VSPackage projektu. Gdy użytkownik zainstaluje pakiet VSPackage, platforma dostarczania utworzona podczas opracowywania pakietu może wyświetlić dowolną żądaną nazwę platformy na podstawie dowolnych kryteriów ustawionych przez twórcę pakietu. Użytkownik może następnie wybrać z listy platform udostępnionych za pośrednictwem pakietu VSPackage po utworzeniu wystąpienia stron właściwości.

Nazwy platform są opcjonalne, ponieważ nie wszystkie projekty obsługują koncepcję platform. Gdy konfiguracja nie ma nazwy platformy, ciąg N/A jest wyświetlany w interfejsie użytkownika.

Każde rozwiązanie ma własny zestaw konfiguracji, z których tylko jeden może być aktywny naraz. Konfiguracja rozwiązania to zestaw nie więcej niż jednej konfiguracji z każdego projektu. Stipulacja "nie więcej niż" jest spowodowana opcją wykluczenia projektu z konfiguracji rozwiązania. Użytkownicy mogą tworzyć własne niestandardowe konfiguracje rozwiązań.

W poniższej tabeli przedstawiono typową konfigurację konfiguracji projektu. Wiersze są oznaczone nazwami konfiguracji i kolumnami z nazwami platformy.

Nazwa konfiguracji Platforma: Win32 Platforma: Win64
Debug <Debugowanie ustawień win32> <Debugowanie ustawień win64>
Wydanie <Ustawienia wersji Win32> <Ustawienia wersji Win64>
MyConfig Nie dotyczy <Ustawienia myConfig Win64>

Uwaga

Nie można utworzyć konfiguracji rozwiązania MyConfig, która wyklucza platformę Win32, chyba że docelowy projekt nie obsługuje win32.

Zmiana aktywnej konfiguracji rozwiązania wybiera zestaw konfiguracji projektu, który jest kompilowany, uruchamiany, debugowany lub wdrażany w tym rozwiązaniu. Jeśli na przykład zmienisz aktywną konfigurację rozwiązania z Wydania na Debugowanie, wszystkie projekty w ramach tego rozwiązania zostaną automatycznie skompilowane przy użyciu konfiguracji projektów wskazanej w konfiguracji debugowania rozwiązania. Konfiguracje projektów mają również nazwę Debuguj , chyba że użytkownik wprowadził ręczne zmiany w programie Configuration Manager środowiska.

Właściwości konfiguracji rozwiązania przechowywane dla każdego projektu obejmują nazwę projektu, nazwę konfiguracji projektu, flagi wskazujące, czy należy skompilować, czy wdrożyć, i nazwę platformy. Aby uzyskać więcej informacji, zobacz Konfiguracja rozwiązania.

Użytkownik może wyświetlać i ustawiać parametry konfiguracji rozwiązania, wybierając rozwiązanie w hierarchii (Eksplorator rozwiązań) i otwierając strony właściwości. Podobnie można wyświetlać i ustawiać parametry konfiguracji projektu, wybierając projekt w Eksplorator rozwiązań i otwierając strony właściwości dla tego projektu.

Użytkownik może również skompilować jeden projekt przy użyciu ustawień konfiguracji wydania i wszystkich pozostałych ustawień konfiguracji debugowania, jeśli to konieczne. Aby uzyskać więcej informacji, zobacz Konfiguracja projektu do kompilowania.

Na poniższym diagramie przedstawiono sposób implementacji interfejsów obsługujących konfiguracje rozwiązań i projektów:

Grafika interfejsów konfiguracji

Interfejsy konfiguracji

Kilka uwag dotyczących poprzedniego diagramu:

  • IDispatch element jest oznaczony jako opcjonalny w obiekcie konfiguracji. W szczególności opcjonalne jest posiadanie interfejsów konfiguracji w obiekcie przeglądania.

  • IVsDebuggableProjectCfg jest oznaczony jako opcjonalny w obiekcie konfiguracji, ale jest wymagany do obsługi debugowania.

  • IVsProjectCfg2 element jest oznaczony jako opcjonalny w obiekcie konfiguracji, ale jest wymagany do obsługi grupowania danych wyjściowych.

  • Obiekt dostawcy konfiguracji jest oznaczony jako obiekt opcjonalny, ale opcja jest miejscem, w którym należy go zaimplementować. Obiekt można zaimplementować w obiekcie projektu lub na osobnym obiekcie.

  • IVsCfgProvider2 jest wymagany do obsługi platformy i edytowania konfiguracji. IVsCfgProvider jest wystarczająca, jeśli nie zaimplementowasz tej funkcji.

  • Niektóre z tych obiektów pokazanych na diagramie jako oddzielne obiekty można połączyć w tej samej klasie, w której praktyczne są oparte na określonych wymaganiach projektowych. Jednak w innych tematach tej sekcji obiekty i interfejsy skojarzone z tymi obiektami zostaną omówione zgodnie ze scenariuszem przedstawionym na diagramie.

  • Niektóre obiekty są implementowane oddzielnie. Na przykład kompilowanie projektu i rozwiązania odbywa się w osobnych wątkach, a obiekt do zarządzania życiem kompilacji niezależnie od obiektu opisującego konfigurację kompilacji.

    Aby uzyskać więcej informacji na temat interfejsów obiektów konfiguracji i interfejsów obiektów dostawcy konfiguracji na poprzednim diagramie, zobacz Project configuration object (Obiekt konfiguracji projektu). Ponadto konfiguracja projektu do kompilowania zawiera więcej informacji na temat konstruktora konfiguracji i kompilowania interfejsów obiektów zależności, a konfiguracja projektu do zarządzania wdrożeniem dalej opisuje interfejsy dołączone do obiektów zależności wdrażania konfiguracji i wdrażania. Na koniec konfiguracja projektu dla danych wyjściowych opisuje interfejsy grup wyjściowych i obiektów wyjściowych oraz użycie stron właściwości do wyświetlania i ustawiania właściwości zależnych od konfiguracji.