Atualização de projetos
Altera para o modelo de projeto de uma versão do Visual Studio para o próximo podem exigir que os projetos e soluções ser atualizados para que eles possam ser executados na versão mais recente. O SDK do Visual Studio fornece interfaces que podem ser usados para implementar o suporte a atualização em seus próprios projetos.
Estratégias de atualização
Para oferecer suporte a uma atualização, na implementação do sistema de projeto deve definir e implementar uma estratégia de atualização. Ao determinar sua estratégia, você pode escolher dar suporte lado a lado (SxS) backup, backup de cópia ou ambos.
Backup SxS significa que um projeto copia somente os arquivos que precisam de atualização in loco, adicionando um sufixo de nome de arquivo adequado, por exemplo, ". old".
Backup de cópia significa que um projeto copia todos os itens de projeto para um local de backup fornecido pelo usuário. Os arquivos relevantes no local original do projeto podem ser atualizados.
Como funciona o Upgrade
Quando uma solução criada em uma versão anterior do Visual Studio é aberto em uma versão mais recente, as verificações IDE, a solução de arquivo para determinar se ele precisa ser atualizado. Se a atualização for necessária, o Assistente de atualização é iniciado automaticamente para orientar o usuário durante o processo de atualização.
Quando uma solução necessita de atualização, ele consultará cada fábrica de projeto para sua estratégia de atualização. A estratégia determina se a fábrica de projeto oferece suporte à cópia ou backup SxS. As informações são enviadas para o Assistente de atualização de, que coleta as informações necessárias para o backup e apresenta as opções aplicáveis ao usuário.
Soluções de Vários Projetos
Se uma solução contém vários projetos e as estratégias de atualização forem diferentes, como, por exemplo, quando um projeto de C++ que só oferece suporte a backup SxS e um projeto da Web que suportam apenas o backup de cópia, as fábricas de projeto devem negociar a estratégia de atualização.
A solução consulta cada fábrica de projeto para IVsProjectUpgradeViaFactory. Em seguida, chama UpgradeProject_CheckOnly para ver se os arquivos de projeto global precisam de atualização e determinar as estratégias de atualização com suporte. O Assistente de atualização de , em seguida, é invocado.
Depois que o usuário concluir o assistente, UpgradeProject é chamado em cada fábrica de projeto para realizar o upgrade real. Para facilitar o backup, IVsProjectUpgradeViaFactory métodos fornecem a SVsUpgradeLogger serviço para fazer os detalhes do processo de atualização. Este serviço não pode ser armazenada em cache.
Depois de atualizar todos os arquivos globais relevantes, cada fábrica de projeto pode escolher criar uma instância de um projeto. A implementação do projeto deve oferecer suporte ao IVsProjectUpgrade. O UpgradeProject , em seguida, é chamado de método para atualizar todos os itens de projeto relevante.
Dica
O UpgradeProject método não fornece o serviço de SVsUpgradeLogger.Este serviço pode ser obtido chamando QueryService.
Práticas recomendadas
Use o SVsQueryEditQuerySave service para verificar se você pode editar um arquivo antes de editá-lo e salvá-lo antes de salvá-lo. Isso ajudará seu backup e implementações de upgrade lidar com arquivos de projeto sob controle de origem, arquivos com permissões suficientes e assim por diante.
Use o SVsUpgradeLogger de serviço durante todas as fases de backup e fazer upgrade para fornecer informações sobre o sucesso ou fracasso do processo de atualização.
Para obter mais informações sobre backup e atualização de projetos, consulte os comentários para IVsProjectUpgrade em vsshell2.idl.
Consulte também
Tarefas
Como: atualizar sistemas do projeto
Como: atualizar itens de projeto