2014-07-09 21 views
17

Tworzę niestandardowy test biegacza dla mojego projektu. Stworzyłem projekt testowy vsix, który można zarejestrować w Visual Studio.Jak debugować projekt Vsix

Wiem również, że ładuję rozszerzenie przez F5, a następnie eksperymentalna instancja programu Visual Studio jest ładowana, ale punkty przerwania nie są trafione w instancji Visual Studio, w której utworzyłem mój vsix.

Ktoś wie, jak to naprawdę debugować?

+1

Sposób, w jaki to debugujesz, jest taki sam jak to, co robisz. Np. Naciśnij F5 przez instancję eksperymentalną. Przebuduj rozwiązanie, pozbądź się starych symboli debugowania, wyczyść wszystkie pamięci podręczne (rejestr 12.0Exp, folder AppData 12.0Exp). –

+0

@Kompleksowość - czy znalazłeś dobre rozwiązanie? –

+0

Niestety, nie zrobiłem tego. – Complexity

Odpowiedz

15

Zbudowałem kilka rozszerzeń Visual Studio i nigdy nie znalazłem dobrego sposobu na debugowanie VSIX. Możesz uruchomić eksperymentalną instancję, ale uważam, że jest to najwolniejsza możliwość.

To workflow używam:

  • Otwórz Visual Studio dla rozwoju instancji. Załaduj rozwiązanie.
  • Dokonaj zmian, kompilacji.
  • Zainstaluj plik .vsix (dwukrotne kliknięcie pliku vsix w \ bin \ debug)
  • Uruchom nowe wystąpienie programu Visual Studio do testowania.
  • W Dev Visual Studio, Debuguj -> Dołącz do procesu i wybierz devenv.exe
  • W Dev Visual Studio ustaw niektóre punkty przerwania.
  • W Test Visual Studio stwórz/otwórz nowe rozwiązanie i rozpocznij kodowanie testowe.

Znalazłem to znacznie szybciej niż uruchomienie eksperymentalnej instancji VS. Ale wciąż jest to dość uciążliwe.

Inną rzeczą, którą bardzo polecam, jest streszczenie jak najwięcej Visual Studio API, jak można zrobić testowanie jednostkowe i wykonanie tylko minimum testowania w Visual Studio. Na przykład w projekcie, nad którym teraz pracuję, pMixins, wyodrębniłem system zdarzeń Visual Studio (VisualStudioEventProxy), więc moja infrastruktura nie jest mocno uzależniona od interfejsu API zdarzeń i mogę napisać test który symuluje zdarzenia.

11

Trochę za późno, ale może być pomocne dla innych. sugestia znaleziona here pomógł mi rozwiązać mój problem z debugowaniem komponentu vsix w VS2012. W skrócie: dodaj do właściwości projektu "start external program:" [jesteś wizualną ścieżką studyjną], dodaj do "Argumenty wiersza poleceń" /rootsuffix Exp