Sdílet prostřednictvím


Ladění aplikací ClickOnce používajících System.Deployment.Application

V Visual Studio umožňuje nasazení ClickOnce konfigurovat způsob aktualizace aplikace. Avšak potřebujete-li použít a přizpůsobit pokročilé funkce nasazení ClickOnce, budete muset přístoupit k modelu objektu nasazení poskytovanému System.Deployment.Application. Můžete použít rozhraní API System.Deployment.Application pro pokročilé úkony, jako je například:

  • Vytvoření možnosti "Aktualizovat teď" v aplikaci

  • Podmíněné stažení na vyžádání různých součástí aplikace

  • Aktualizace integrované přímo do aplikace

  • Zaručující, že klientská aplikace je vždy aktuální

Protože rozhraní API System.Deployment.Application pracuje pouze v případě, že aplikace je nasazena s technologií ClickOnce, jediným způsobem k ladění je nasazení aplikace pomocí ClickOnce, připojení k ní a následné ladění. Může být obtížné připojit ladicí program dostatečně včas, protože tento kód se často spouští se startem aplikace a provede se dříve, než je možné připojit ladicí program. Řešením je umístění přerušení (nebo zastavení pro Visual Basic) před Váš kód kontroly aktualizací nebo kódu na vyžádání.

Doporučená technika ladění je následující:

  1. Než začnete, ujistěte se, že symbol (.pdb) a zdrojové soubory jsou archivovány.

  2. Nasaďte verzi 1 této aplikace.

  3. Vytvořte nové prázdné řešení. V nabídce Soubor klikněte na Nový a potom na Projekt. V dialogovém okně Nový projekt otevřete uzel Ostatní typy projektů a zvolte složku Řešení sady Visual Studio. V panelu Šablony zvolte Prázdné řešení.

  4. Přidejte archivované zdrojové umístění do vlastností pro toto nové řešení. V Průzkumníku řešení klikněte pravým tlačítkem myši na uzel řešení a pak na Vlastnosti. V dialogovém okně Stránky Vlastností zvolte Ladit zdrojové soubory a pak přidejte adresář archivovaného zdrojového kódu. Jinak ladicí program vyhledá zastaralé zdrojové soubory, pokud jsou cesty zdrojových souborů zaznamenány v souboru .pdb. Pokud ladicí program používá zastaralé zdrojové soubory, zobrazí se zpráva, že zdrojový kód neodpovídá.

  5. Přesvědčte se, zda ladicí program můžete najít soubory .pdb. Pokud jste je nasadili Vaší aplikací, ladicí program je najde automaticky. Vždy vyhledává nejdříve blízká sestavení dotyčného. V opačném případě budete muset přidat cestu k archivu do Umístění souborů se symboly (.pdb) (pro přístup k této možnosti, z nabídky Nástroje klikněte na Možnosti a potom otevřete uzel Ladění a klikněte na Symboly).

  6. Ladění událostí mezi voláními metod CheckForUpdate a Download/Update.

    Aktualizační kód může být například následující:

        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. Nasazení verze 2.

  8. Pokus o připojení ladicího programu k aplikaci verze 1 během stahování aktualizace pro verzi 2. Můžete také použít metodu System.Diagnostics.Debugger.Break nebo jednoduše Stop v jazyce Visual Basic. Samozřejmě byste neměli ponechat volání této metody v kódu výroby.

    Předpokládejme například, že vyvíjíte aplikaci modelu Windows Forms a v ní máte obslužnou rutinu pro tuto metodu s aktualizační logikou. Pro její ladění jednoduše připojte před stisknutím tlačítka zarážku (zkontrolujte, zda jste otevřeli odpovídající archivovaný soubor a nastavili zde zarážku).

Použijte vlastnost IsNetworkDeployed pro vyvolání rozhraní API System.Deployment.Application pouze v případě, že aplikace je nasazena; rozhraní API by neměly být uplatňovány během ladění v Visual Studio.

Viz také

Odkaz

System.Deployment.Application