Debugowanie aplikacjom ClickOnce korzystanie z System.Deployment.Application

W Visual Studio, ClickOnce wdrażania pozwala skonfigurować sposób aktualizowania aplikacji.Jednakże, jeśli zachodzi potrzeba używania i dostosowywania zaawansowanego ClickOnce funkcje rozmieszczania, konieczne będzie dostęp do modelu obiektu wdrożenia dostarczonych przez System.Deployment.Application.Można użyć System.Deployment.Application API dla zaawansowanych zadań, takich jak:

  • Tworzenie opcji "Aktualizuj" w aplikacji

  • Warunkowe, na żądanie pobiera się z różnych składników aplikacji

  • Aktualizacje integrowane bezpośrednio z aplikacji

  • Zagwarantowanie aplikacji klienckiej jest zawsze aktualna

Ponieważ System.Deployment.Application API działa tylko wtedy, gdy aplikacja jest wdrażana z ClickOnce technologii, jedynym sposobem ich debugowania jest do wdrożenia aplikacji za pomocą ClickOnce, dołączyć do niego, a następnie go debugowania.Może być trudne do dołączania debugera odpowiednio wcześnie, ponieważ ten kod uruchamia często, gdy aplikacja jest uruchamiany i wykonuje przed można uruchomić debugera.Rozwiązaniem jest umieszczenie przerwy (lub zatrzymuje dla projektów programu Visual Basic) przed kod wyboru update lub kod na żądanie.

Zalecane techniki debugowania jest następujący:

  1. Zanim zaczniesz, upewnij się, że symbol (.pdb) i pliki źródłowe są archiwizowane.

  2. Wdrażanie aplikacji w wersji 1.

  3. Utwórz nowy roztwór próby ślepej.Z pliku menu, kliknij przycisk Nowy, następnie Projekt.W Nowy projekt otwarte okno dialogowe, Inne typy projektów węzła, zaznacz Programu Visual Studio rozwiązania folder.W szablonów okienku wybierz Roztwór do próby ślepej.

  4. Dodaj lokalizację źródłową zarchiwizowanych do właściwości dla tego nowego rozwiązania.W Solution Explorer, kliknij prawym przyciskiem myszy węzeł roztworu, a następnie kliknij przycisk Właściwości.W Stron właściwości okno dialogowe Wybierz Debugowania plików źródłowych, następnie dodać katalog kodu źródłowego zarchiwizowane.W przeciwnym razie debugera znaleźć pliki źródłowe nieaktualne, ponieważ ścieżki do plików źródłowych są rejestrowane w pliku .pdb.Jeśli debuger wykorzystuje pliki źródłowe nieaktualny, zostanie wyświetlony komunikat informujący, że źródło nie pasuje.

  5. Upewnij się, że debuger może znaleźć plików .pdb.Jeśli została wdrożona je z aplikacją, debuger znajdzie je automatycznie.Zawsze wygląda obok zgromadzenie danego najpierw.W przeciwnym razie trzeba będzie dodać ścieżkę archiwum do Symbol lokalizacje plików (.pdb) (dostęp do tej opcji, z Narzędzia menu, kliknij przycisk Opcje, następnie otwórz Debugowanie węzeł, a następnie kliknij przycisk symbole).

  6. Debug, co się stanie, między CheckForUpdate i Download/Update wywołania metody.

    Na przykład kod aktualizacji może być następujący:

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If My.Application.Deployment.IsNetworkDeployed Then
    
                If (My.Application.Deployment.CheckForUpdate()) Then
    
                    My.Application.Deployment.Update()
                    Application.Restart()
    
                End If
    
            End If
        End Sub
    
  7. Wdrażanie w wersji 2.

  8. Próba dołączyć debuger do aplikacji w wersji 1, jak pliki do pobrania aktualizacji dla wersji 2.Alternatywnie można użyć System.Diagnostics.Debugger.Break metody lub po prostu Stop w języku Visual Basic.Oczywiście nie opuszczaj te wywołania metody w kodzie produkcyjnym.

    Załóżmy na przykład, opracowywania aplikacji Windows Forms i mieć programu obsługi zdarzeń dla tej metody w logice aktualizacji w nim.Debugowania to, po prostu dołączyć przed przycisk jest wciśnięty, a następnie ustaw punkt przerwania (Upewnij się, otwórz odpowiedni plik zarchiwizowanego, a następnie ustaw punkt przerwania).

Użyj IsNetworkDeployed właściwość, aby wywołać System.Deployment.Application API tylko wtedy, gdy aplikacja jest rozmieszczana; za pośrednictwem interfejsów API nie powinny być używane podczas debugowania w Visual Studio.

Zobacz też

Informacje

System.Deployment.Application