VB.NET Editar e Continuar: Ignore “Incapaz de aplicar essa alteração durante a depuração”
-
26-09-2019 - |
Pergunta
Ao usar o VB.Net (2008) e parou em depuração, o Edit and-Continue é um ótimo tempo de economia. No entanto, se você alterar qualquer informação no nível do módulo/classe (variável, assinatura sub/função, etc.), você recebe a mensagem de erro como esta:
"unable to apply this change while debugging"
Embora eu possa entender o desafio técnico de fazer esse trabalho (e por que seria difícil), isso me deixa em um local apertado com apenas algumas opções:
1) Reinicie e recompile e recupere o programa ao mesmo estado
2) Continue depurando sem fazer a mudança e correr o risco de esquecer
3) Digite uma nota de lembrete para fazer a alteração
Todos os quais são chato.
Agora eu sei que essa opção '4) realmente faz a mudança' pode não ser possível. Mas alguém sabe como ativar a seguinte possibilidade 'tecnicamente fácil'?
4) Deixe -me alterar o código, sinalize -o com o sublinhado roxo, para que eu possa salvá -lo, mas apenas ignore a mudança até recompilar
Eu verifiquei as ferramentas | Opções | Debug | Editar e continuar, nada parece me deixar fazer isso.
obrigado!
Solução
Você não pode fazer exatamente o que deseja, mas pode ter a solução/projeto aberta em outro vs Instace e alterar o código nisso. Você teria que ter certeza de que não o salvou.
Outras dicas
Infelizmente, isto não é possível.
Não é tão simples quanto você imagina.
No mínimo, você invalidará toda a numeração da linha (embora isso aconteça também no E&C normal). No entanto, o IDE precisaria de uma camada extra de validação para impedir que você faça coisas como alterar assinaturas de métodos ou interfaces de classe que tornariam impossível a depuração do nível da fonte.
Além disso, seria extremamente confuso para pessoas que não entendem exatamente o que está acontecendo.
Eu não acho que isso seja possível e, quando você diz que é fácil, acho que você esquece que o Visual Studio teria que acompanhar as alterações que você fez em comparação com como era no tempo de compilação para que pudesse mostrar Você está a linha correta no depurador etc, que, se adicionar algumas linhas, excluir outras linhas e alterar algumas linhas poderá ficar bastante confuso para cobrir todas as eventualidades, e isso também pode ser bastante confuso.