Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med ClickOnce-distributionen i Visual Studio kan du konfigurera hur ett program uppdateras. Men om du vill använda och anpassa avancerade ClickOnce-distributionsfunktioner behöver du åtkomst till den distributionsobjektmodell som tillhandahålls av System.Deployment.Application. Du kan använda API:erna System.Deployment.Application för avancerade uppgifter, till exempel:
Skapa ett "Uppdatera nu"-alternativ i ditt program
Villkorliga nedladdningar på begäran av olika programkomponenter
Uppdateringar som är integrerade direkt i programmet
Garantera att klientprogrammet alltid är up-to-date
Eftersom API:erna System.Deployment.Application bara fungerar när ett program distribueras med ClickOnce-teknik är det enda sättet att felsöka dem att distribuera programmet med Hjälp av ClickOnce, ansluta till det och sedan felsöka det. Det kan vara svårt att koppla felsökningsprogrammet tillräckligt tidigt, eftersom den här koden ofta körs när programmet startas och körs innan du kan koppla felsökningsprogrammet. En lösning är att placera pauser (eller stopp för Visual Basic-projekt) före din uppdateringskontrollkod eller kod på begäran.
Den rekommenderade felsökningstekniken är följande:
Anmärkning
Klassen ApplicationDeployment och API:erna System.Deployment.Application i namnområdet stöds inte i .NET Core- och .NET 5- och senare versioner. I .NET 7 stöds en ny metod för att komma åt egenskaper för programdistribution. Mer information finns i Access ClickOnce distributionsegenskaper i .NET. .NET 7 stöder inte motsvarigheten till ApplicationDeployment-metoder.
Kontrollera att symbolfilerna (.pdb) och källfilerna arkiveras innan du börjar.
Distribuera version 1 av programmet.
Skapa en ny tom lösning. På menyn Arkiv väljer du Nytt och sedan Projekt. I dialogrutan Nytt projekt öppnar du noden Andra projekttyper och väljer sedan mappen Visual Studio Solutions . I fönstret Mallar väljer du Tom lösning.
Lägg till den arkiverade källplatsen i egenskaperna för den nya lösningen. Högerklicka på lösningsnoden i Solution Explorer och välj sedan Egenskaper. I dialogrutan Egenskapssidor väljer du Felsöka källfiler och lägger sedan till katalogen för den arkiverade källkoden. Annars hittar felsökaren inaktuella källfiler eftersom källfilsökvägarna registreras i .pdb-filen . Om felsökaren använder inaktuella källfiler visas ett meddelande om att källan inte matchar.
Kontrollera att felsökaren kan hitta .pdb-filerna . Om du har distribuerat filerna med ditt program hittar felsökaren dem automatiskt. Det ser alltid ut bredvid sammansättningen i fråga först. Annars måste du lägga till arkivsökvägen i listan med symbolfilplatser.
Öppna fönstret Verktyg (eller Debuggning) >Alternativ och expandera avsnittet Alla Inställningar>Debuggning>Symboler>Sökplatser. Lägg till, ändra ordning eller ta bort objekt från listan symbolfilplatser (.pdb ).
Öppna dialogrutan Verktyg (eller Felsökning) >och expandera avsnittetFelsökningssymboler>. Lägg till, ändra ordning eller ta bort poster från listan över sökvägar för symbolfil (.pdb).
Felsöka vad som händer mellan metodanropen
CheckForUpdateochDownload/Update.Uppdateringskoden kan till exempel vara följande:
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 SubDistribuera version 2.
Försök att koppla felsökningsprogrammet till version 1-programmet medan det laddar ned en uppdatering för version 2. Du kan också använda
System.Diagnostics.Debugger.Breakmetoden eller helt enkeltStopi Visual Basic. Du bör naturligtvis inte lämna dessa metodanrop i produktionskoden.Anta till exempel att du utvecklar ett Windows Forms-program och att du har en händelsehanterare för den här metoden med uppdateringslogik i den. Om du vill felsöka detta ansluter du bara innan knappen trycks in och anger sedan en brytpunkt (se till att du öppnar lämplig arkiverad fil och ställer in brytpunkten där).
IsNetworkDeployed Använd egenskapen för att anropa API:erna System.Deployment.Application endast när programmet distribueras. API:erna ska inte anropas under felsökning i Visual Studio.