Depuração de aplicativos ClickOnce que usam sistema.implantação.aplicativo
In Visual Studio, ClickOnce implantação permite configurar como um aplicativo é atualizado. No entanto, caso você precise usar e personalizar avançados ClickOnce recursos de implantação, você precisará acessar o modelo de objeto de implantação fornecido pelo System.Deployment.Application. Você pode usar o System.Deployment.Application APIs para tarefas avançadas, sistema autônomo:
Criar uma opção "Atualizar agora" em seu aplicativo
Condicional, sob demanda faz download de vários componentes do aplicativo
As atualizações diretamente integrado ao aplicativo
Garantindo que o aplicativo cliente está sempre backup - para-data
Porque o System.Deployment.Application APIs funcionam apenas quando um aplicativo for implantado com o ClickOnce tecnologia, a única maneira de depurá-los é implantar o aplicativo usando ClickOnce, anexar a ele e, em seguida, depurá-lo. Pode ser difícil anexar o depurador antecipado, como esse código é executado com freqüência quando o aplicativo é iniciado e executa antes que você pode anexar o depurador.Uma solução é colocar as quebras de (ou pára, para projetos do Visual Basic) antes do seu código sob demanda ou código de verificação de atualização.
A técnica de depuração recomendada é sistema autônomo segue:
Antes de começar, certifique-se de que o símbolo (.pdb) e arquivos de fonte são arquivados.
implantar versão 1 do aplicativo.
Crie uma nova solução em branco.From a Arquivo menu, clicar Novo, then Projeto.No Novo projeto caixa de diálogo , em aberto o Outros tipos de projeto nó e, em seguida, selecionar o Soluções do Visual Studio pasta.No painel Templates, selecione Blank Solution.
Adicione o local de fonte arquivada às propriedades para esta nova solução.In O gerenciador de soluções, clicar com o botão direito do mouse no nó da solução e, em seguida, clique em Propriedades.No Páginas de propriedades caixa de diálogo de de seleçãoDepurar arquivos de origem, em seguida, adicionar o diretório do código-fonte arquivados.Caso contrário, o depurador encontrará fora do data arquivos, de fonte, pois os caminhos de arquivo de fonte são registrados no arquivo .pdb.Se o depurador usa arquivos de origem desatualizados, você verá uma mensagem informando que a fonte não corresponde.
Certifique-se de que o depurador pode encontrar os arquivos .pdb.Se tiver implantado o-los com o seu aplicativo, o depurador encontrará-los automaticamente.Sempre parece ao lado para o assembly em questão pela primeira vez.Caso contrário, você precisará adicionar o caminho de arquivar para o Símbolo arquivo (.pdb) locations (para acessar esta opção do Ferramentas menu, clicar Opçõese, em seguida, abra o Depuração nó e clicar Símbolos).
Depurar o que ocorre entre o CheckForUpdate e Download/Update chamadas de método.
Por exemplo, o código de atualização pode ser sistema autônomo segue:
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
Implante a versão 2.
Tente anexar o depurador para o aplicativo de versão 1 durante seu download de uma atualização para versão 2.Como alternativa, você pode usar o System.Diagnostics.Debugger.Break método ou simplesmente Stop no Visual Basic. Obviamente, não deixe essas chamadas de método no código de produção.
Por exemplo, suponha que você está desenvolvendo um aplicativo WinForms e você tiver um manipulador de eventos para esse método com a lógica de atualização nela.Para depurar isso, basta anexar antes que o botão é pressionado e, em seguida, conjunto um ponto de interrupção (Certifique-se de que você em em aberto o arquivo arquivado apropriado e defina o ponto de interrupção lá).
Use o IsNetworkDeployed propriedade para invocar o System.Deployment.Application APIs somente quando o aplicativo for implantado, as APIs não deve ser chamadas durante a depuração em Visual Studio.
Consulte também
Tarefas
Exemplo de tecnologia de implantação ClickOnce OnDemand