Używanie natywnej wielowersyjności kodu w programie Visual Studio do kompilacji starych projektów

Zwykle zalecamy zaktualizowanie projektów podczas instalowania najnowszej wersji programu Visual Studio. Koszt aktualizowania projektów i kodu jest często częściej większa niż przesunięcie przez korzyści wynikające z nowego środowiska IDE, kompilatora, bibliotek i narzędzi. Wiemy jednak, że nie można zaktualizować niektórych projektów. Pliki binarne mogą być powiązane ze starszymi bibliotekami lub platformami, które ze względów konserwacji nie można uaktualnić. Kod może używać niestandardowych konstrukcji językowych, które mogłyby zostać przerwane w przypadku przeniesienia do nowszego kompilatora. Kod może polegać na bibliotekach innych firm skompilowanych dla określonej wersji programu Visual C++. Możesz też tworzyć biblioteki dla innych osób, które muszą być przeznaczone dla określonej starszej wersji programu Visual C++.

Na szczęście można użyć programu Visual Studio do kompilowania projektów przeznaczonych dla starszych zestawów narzędzi i bibliotek kompilatora. Jeśli nadal masz zainstalowane oryginalne narzędzia, nie musisz uaktualniać projektu już z powrotem do programu Visual Studio 2010, aby korzystać z nowych funkcji w środowisku IDE:

  • Nowe możliwości refaktoryzacji języka C++ i funkcje eksperymentalne edytora
  • Okno debugera nowych narzędzi diagnostycznych i okno Lista błędów
  • Odnowione punkty przerwania, okno wyjątków i nowy perf Wskazówki
  • Nowe narzędzia do nawigacji i wyszukiwania kodu
  • Nowe szybkie poprawki języka C++ i rozszerzenia Productivity Power Tools.

Można również kierować projekty programu Visual Studio 2008, ale nie można ich używać bez zmian. Aby uzyskać szczegółowe informacje, zobacz sekcję Instrukcje dotyczące programu Visual Studio 2008 .

Najnowsze wersje programu Visual Studio obsługują natywne wielowersyjność i zaokrąglanie projektów. Natywna wielowersyjność to możliwość tworzenia najnowszego środowiska IDE przy użyciu zestawów narzędzi zainstalowanych przez poprzednie wersje programu Visual Studio. Round-tripping to możliwość ładowania najnowszych projektów IDE utworzonych przez poprzednią wersję środowiska IDE bez wprowadzania żadnych zmian w projekcie. Jeśli zainstalujesz najnowszą wersję programu Visual Studio obok istniejącej wersji, możesz użyć nowej wersji środowiska IDE z kompilatorem i narzędziami z istniejącej wersji do kompilowania projektów. Inni członkowie zespołu mogą nadal używać projektów w starszej wersji programu Visual Studio.

Korzystając ze starszego zestawu narzędzi, możesz skorzystać z wielu najnowszych funkcji środowiska IDE, ale nie najnowszych postępów w kompilatorze języka C++, bibliotekach i narzędziach kompilacji. Na przykład nie będzie można używać nowych ulepszeń zgodności języka, nowych funkcji debugowania i analizy kodu ani szybszego tworzenia najnowszego zestawu narzędzi. Istnieją również niektóre funkcje środowiska IDE, które są niezgodne ze starszymi zestawami narzędzi. Na przykład w profilerze pamięci brakuje informacji o typie, a operacja refaktoryzacji Konwertuj na nieprzetworzone literały ciągu generuje kod zgodny z językiem C++11, który nie zostanie skompilowany podczas korzystania z programu Visual Studio 2012 lub starszych zestawów narzędzi.

Jak używać natywnego wielowersyjności w programie Visual Studio

Po zainstalowaniu programu Visual Studio obok starszej wersji otwórz istniejący projekt w nowej wersji programu Visual Studio. Po załadowaniu projektu program Visual Studio pyta, czy chcesz uaktualnić go do korzystania z najnowszego kompilatora i bibliotek języka C++. Ponieważ chcesz, aby projekt zachował starszy kompilator i biblioteki, wybierz przycisk Anuluj .

Program Visual Studio jest trwały w przypadku uaktualniania projektu. Aby uniknąć wyświetlania okna dialogowego uaktualniania za każdym razem, gdy załadujesz projekt, możesz zdefiniować następującą właściwość w projektach lub w .props importowanych plikach lub .targets :

<VCProjectUpgraderObjectName>NoUpgrade</VCProjectUpgraderObjectName>

Tę właściwość należy usunąć, gdy chcesz uaktualnić projekty.

Jeśli zdecydujesz się nie uaktualnić, program Visual Studio nie wprowadza żadnych zmian w plikach rozwiązania lub projektu. Podczas kompilowania projektu wygenerowane pliki binarne są w pełni zgodne ze starszymi wersjami programu Visual Studio, ponieważ program Visual Studio używa tego samego kompilatora języka C++ i łączy te same biblioteki, z którymi jest dostarczane starsze środowisko IDE. Dlatego w oknie dialogowym uaktualniania zostanie wyświetlone ostrzeżenie o zachowaniu starszej wersji programu Visual Studio zainstalowanej po wybraniu pozycji Anuluj.

Instrukcje dotyczące programu Visual Studio 2008

Program Visual Studio 2008 miał własny dedykowany system kompilacji dla języka C++ o nazwie VCBuild. W programie Visual Studio 2010 projekty visual Studio C++ zostały zmienione tak, aby korzystały z programu MSBuild. Niezależnie od tego, czy uaktualnienie jest trwałe, czy wielowersyjne, należy przejść przez krok aktualizacji, aby skompilować projekty programu Visual Studio 2008 w najnowszej wersji programu Visual Studio. Zaktualizowany projekt nadal generuje pliki binarne, które są w pełni zgodne z plikami binarnymi utworzonymi przy użyciu środowiska IDE programu Visual Studio 2008.

Najpierw oprócz bieżącej wersji programu Visual Studio należy zainstalować program Visual Studio 2010 na tym samym komputerze co program Visual Studio 2008. Tylko program Visual Studio 2010 instaluje skrypty MSBuild , które są wymagane do kierowania projektów programu Visual Studio 2008.

Następnie należy zaktualizować rozwiązanie i projekty programu Visual Studio 2008 do bieżącej wersji programu Visual Studio. Zalecamy utworzenie kopii zapasowej projektów i plików rozwiązań przed uaktualnieniem. Aby rozpocząć proces uaktualniania, otwórz rozwiązanie w bieżącej wersji programu Visual Studio. Po wyświetleniu monitu o uaktualnienie przejrzyj wyświetlone informacje, a następnie wybierz przycisk OK , aby rozpocząć uaktualnianie. Jeśli rozwiązanie ma więcej niż jeden projekt, musisz zaktualizować każdy projekt. Kreator tworzy nowe .vcxproj pliki projektu obok istniejących .vcproj plików. Jeśli masz również kopię oryginalnego .sln pliku, uaktualnienie nie ma innego wpływu na istniejące projekty programu Visual Studio 2008.

Uwaga

Poniższe kroki dotyczą tylko scenariuszy obejmujących wiele elementów docelowych. Jeśli zamierzasz trwale uaktualnić projekt do późniejszego zestawu narzędzi, następnym krokiem jest zapisanie projektu, otwarcie go w najnowszej wersji programu Visual Studio i rozwiązanie problemów z kompilacją, które się tam pojawią.

Po zakończeniu uaktualniania, jeśli raport dziennika zawiera błędy lub ostrzeżenia dla dowolnego z projektów, należy je dokładnie przejrzeć. Konwersja z VCBuild do MSBuild może powodować problemy. Upewnij się, że rozumiesz i implementujesz wszystkie elementy akcji wymienione w raporcie. Aby uzyskać więcej informacji na temat raportu dziennika uaktualniania i problemów, które mogą wystąpić podczas konwertowania programu VCBuild na msBuild, zobacz wpis w blogu C++ Native Multi-Targeting (Natywna obsługa wielu elementów docelowych w języku C++).

Po zakończeniu uaktualniania i rozwiązaniu wszelkich problemów w pliku dziennika rozwiązanie jest teraz przeznaczone dla najnowszego zestawu narzędzi. W ostatnim kroku zmień właściwości każdego projektu w rozwiązaniu, aby używać zestawu narzędzi programu Visual Studio 2008. Po załadowaniu rozwiązania w bieżącej wersji programu Visual Studio dla każdego projektu w rozwiązaniu otwórz okno dialogowe Strony właściwości projektu: kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań, a następnie wybierz polecenie Właściwości. W oknie dialogowym Strony właściwości zmień wartość listy rozwijanej Konfiguracja na Wszystkie konfiguracje. W obszarze Właściwości konfiguracji wybierz pozycję Ogólne, a następnie zmień zestaw narzędzi platformy na Visual Studio 2008 (wersja 90).

Po tej zmianie kompilator i biblioteki programu Visual Studio 2008 są używane do generowania plików binarnych projektu podczas kompilowania rozwiązania w bieżącej wersji programu Visual Studio.

Instalowanie starszego zestawu narzędzi programu Visual Studio

Być może masz stary projekt programu Visual Studio C++, którego nie możesz uaktualnić lub nie chcesz go uaktualnić. Aby go skompilować, potrzebna jest wersja zestawu narzędzi platformy zgodna z projektem. Aby uzyskać zestaw narzędzi, możesz zainstalować bezpłatną wersję programu Visual Studio Community lub Express potrzebnej wersji. Każda wersja programu Visual Studio z programu Visual Studio 2008 w systemie może zainstalować kompilator, narzędzia i biblioteki, które należy kierować do tej wersji z bieżącego programu Visual Studio. Wyszukaj w Centrum pobierania Microsoft, aby znaleźć i pobrać określoną wersję programu Visual Studio. Upewnij się, że podczas instalacji wybrano opcje instalacji języka C++. Po zakończeniu instalacji uruchom wersję programu Visual Studio, aby zainstalować wszystkie aktualizacje. Sprawdź również wszelkie zmiany usługi Windows Update, które mogą być wymagane. Ten proces sprawdzania aktualizacji może być powtarzany więcej niż raz, aby uzyskać każdą aktualizację.

Aby uzyskać informacje o aktualnie dostępnych plikach do pobrania, zobacz Pobieranie starszego oprogramowania Visual Studio.

Po zainstalowaniu tych produktów lista rozwijana Właściwości zestawu narzędzi platformy w oknie dialogowym Strony właściwości zostanie automatycznie zaktualizowana w celu wyświetlenia dostępnych zestawów narzędzi. Teraz możesz użyć najnowszej wersji programu Visual Studio do kompilowania projektów korzystających ze starszej wersji zestawu narzędzi: nie jest wymagana konwersja ani uaktualnienie.

Zobacz też

Uaktualnianie projektów z wcześniejszych wersji programu Visual C++
Ulepszenia zgodności języka C++ w programie Visual Studio