Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 komponent osadzony. 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 oferowanych przez pakiet VSPackage, gdy strony właściwości są inicjowane.
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 |
|---|---|---|
| Debugowanie | <Debugowanie ustawień win32> | <Debugowanie ustawień win64> |
| Wydanie | <Ustawienia wersji Win32> | <Ustawienia wersji Win64> |
| MyConfig | N/A | <Ustawienia myConfig Win64> |
Uwaga / Notatka
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 również noszą nazwę Debug, chyba że użytkownik wprowadził ręczne zmiany w Menedżerze konfiguracji ś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 Eksploratorze rozwiązań i otwierając strony właściwości dla tego projektu.
Użytkownik może również skompilować jeden projekt, używając ustawień konfiguracji wydania, a wszystkie pozostałe przy użyciu ustawień konfiguracji debugowania, jeśli to konieczne. Aby uzyskać więcej informacji, zobacz Konfiguracja projektu do budowy.
Na poniższym diagramie przedstawiono sposób implementacji interfejsów obsługujących konfiguracje rozwiązań i projektów:
Interfejsy konfiguracji
Kilka uwag dotyczących poprzedniego diagramu:
IDispatchelement jest oznaczony jako opcjonalny w obiekcie konfiguracji. W szczególności opcjonalne jest posiadanie interfejsów konfiguracji w obiekcie przeglądania.IVsDebuggableProjectCfgjest oznaczony jako opcjonalny w obiekcie konfiguracji, ale jest wymagany do obsługi debugowania.IVsProjectCfg2element 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.
IVsCfgProvider2jest wymagany do obsługi platformy i edytowania konfiguracji.IVsCfgProviderjest 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, jeśli jest to praktyczne, w oparciu o określone wymagania projektowe. 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 budowanie projektu i rozwiązania odbywa się w osobnych wątkach, a obiekt do zarządzania budowaniem jest oddzielony od obiektu opisującego konfigurację dla budowania.
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 budowania zawiera więcej informacji na temat konstruktora konfiguracji oraz interfejsów obiektów zależności budowania, a konfiguracja projektu do zarządzania wdrożeniami dalej opisuje interfejsy dołączone do konfiguracji wdrażania i obiektów zależności wdrożeniowych. 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.