Blog (218)
Komentarze (4k)
Recenzje (1)

Migracja starej wtyczki do nowej wersji Visual Studio 2017

Strona główna@djfoxerMigracja starej wtyczki do nowej wersji Visual Studio 2017
17.05.2017 22:17

Tworząc dodatek do Visual Studio zapewne wiele osób będzie uczyło się poprzez analizę kodu istniejących już dodatków (chociażby ze źródeł na GitHubie od MS ). Okazuje się jednak, że projekty pluginów stworzonych pod stare IDE zupełnie nie chcą kompilować się w nowej odsłonie Visual Studio. Jesteśmy zmuszeni do ręcznej migracji takich dodatków. Oto poradnik jak tego dokonać.

Automatyczna aktualizacji (standardowa)

Otwierając projekt, który został stworzony w starym IDE, w nowym Visual Studio 2017 dostaniemy standardowy komunikat o automatycznej aktualizacji.

622591

Nie mamy wyjścia i godzimy się na to. Po chwili projekt jest już gotowy na działanie w nowej wersji IDE. Niestety próba builda zakończy się niepowodzeniem.

622593

W tym momencie musimy sami przejść przez kluczowe elementy projektu, aby zaktualizować ręcznie dodatek.

Nowe paczki z NuGeta

Zaczniemy migrację o pobrania nowych paczek z NuGeta.

622597

Na zakładce aktualizujemy dostępne nowe składniki i restartujemy IDE, jeśli jest to wymagane.

Aktualizacja vsixmanifest

Kolejnym krokiem jest przejrzenie pliku source.extension.vsixmanifest z definicjami wymagań co do wtyczki i docelowej wersji Visual Studio. Zaczniemy od zakładki Install Targets.

622601

W starej wersji widzimy, iż wtyczka ustawiona była na zgodność jedynie z VS 2015. Rozszerzmy zatem kompatybilność na kolejne wersje. Musimy użyć tutaj zakresu, który określa jakie numery wersji będą wspierane. Można podać konkretne numery np. [14.0,15.0], ale w tym przypadku ustawimy zakres otwarty, bez wpisywania górnej granicy: [14.0,). Dodatkowo dodamy kompatybilność dla edycji Community i Enterprise:

622603

W następnej kolejności zaktualizujemy zależność na zakładce Dependecies.

622605

Tu również pozostawimy możliwość instalacji dla przyszłych wersji IDE:

622607

Ostatnia zakładka jest bardzo ważna, gdyż pojawiła się ona dopiero w Visual Studio 2017. Określa ona elementy jakie muszą być zainstalowane, aby nasza wtyczka mogła działać. W tym przypadku dodałem zależność, która określa istnienie edytora IDE co najmniej w wersji 14.

622609

Po tych czynnościach będziemy już w stanie zbuildować dodatek.

Debugowanie

Pomimo tego iż projekt już się buduje, nie będziemy w stanie go debugowac (w przypadku, gdy nie mamy starej wersji Visual Studio).

622613

Problemem jest debuger, który uruchamia sklonowaną instancję Visual Studio. W tym przypadku chce on uruchomić starszą edycję IDE. Zatem ostatnim krokiem zastaje już tylko podmiana ścieżki na nową:

bEDouQCv
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe

Dokonamy tego we właściwościach projektu, na zakładce Debug, zaznaczając pole Start external program i podając ścieżkę do nowego IDE (przykład wyżej).

622617

Po tych krokach projekt zbuilduję się i będzie możliwe debugowanie go w nowym oknie IDE:

622619

Przypominam, że dostępna jest już w markecie Visual Studio wczesna wersja wtyczki konkursowej Healthy With VS.

bEDouQCB
Dodatek dostępny jest w markecie pod adresem: Healthy With VS

.

622623

Zachęcam do pobierania i testowania pierwszej wersji. Liczę również na feedback z waszej strony.

bEDouQCC
Źródła dostępne są na GitHubie (branch master i POC): https://github.com/djfoxer/healthyWithVS/
622626
bEDouQDr