Partilhar via


Persistência de projeto

Persistência é uma consideração importante no design do seu projeto. A maioria dos projetos usar itens de projeto que representam arquivos; Visual Studiotambém oferece suporte a projetos cujos dados são não baseado em arquivo. Os arquivos pertencentes ao projeto e o arquivo de projeto devem ser persistentes. O IDE instrui o projeto para salvar a mesmo ou um item de projeto.

Modelos para projetos são passados para a fábrica de projeto. Os modelos devem oferecer suporte a inicialização de todos os itens de projeto de acordo com os requisitos do tipo de projeto específico. Esses modelos podem ser posteriormente salvas como arquivos de projeto e gerenciados pelo IDE por meio da solução. Para obter mais informações, consulte A criação de instâncias do projeto usando fábricas de projeto e Soluções.

Itens de projeto podem ser baseado em arquivo ou não baseado em arquivo:

  • Itens baseados em arquivo podem ser local ou remoto. Em projetos Web em C#, por exemplo, conexões com arquivos em um sistema remoto persistem localmente, enquanto que os próprios arquivos persistirem no sistema remoto.

  • Itens não baseados em arquivo podem salvar os itens a um banco de dados ou repositório.

Confirmar modelos

Depois de decidir onde se encontram os itens de projeto, você deve escolher o modelo de confirmação apropriada. Por exemplo, em um modelo baseado em arquivo com arquivos locais, cada projeto pode ser salvo autonomamente. Em um modelo de repositório, você pode salvar vários itens em uma transação. Para obter mais informações, consulte Decisões de projeto do tipo de projeto.

Para determinar as extensões de nome de arquivo, projetos de implementam a IPersistFileFormat interface, que fornece informações permitindo que o cliente de um objeto implementar a Salvar como caixa de diálogo — ou seja, para preencher o Salvar como tipo drop-down listar e gerenciar a extensão de nome de arquivo inicial.

As chamadas do IDE a IPersistFileFormat itens de interface no projeto para indicar que o projeto deve manter seu projeto conforme apropriado. Portanto, o objeto é responsável por todos os aspectos de um arquivo e formato. Isso inclui o nome do formato do objeto.

No caso em que itens não são arquivos, IPersistFileFormat ainda é como não-baseado em arquivo itens são persistentes. Arquivo de projeto, como arquivos. vbp para Visual Basic arquivos de projetos ou. vcproj para Visual C++ projetos, também deve ser persistentes.

Para salvar as ações, o IDE examina a tabela de documentos em execução (RDT) e a hierarquia passa os comandos para o IVsPersistHierarchyItem e o IVsPersistHierarchyItem2 interfaces. O IsItemDirty método é implementado para determinar se o item foi modificado. Se o item tiver, o SaveItem método é implementado para salvar o item modificado.

Os métodos de IVsPersistHierarchyItem2 interface são usados para determinar se um item pode ser recarregado e, se o item pode ser recarregá-la. Além disso, o IgnoreItemFileChanges método pode ser implementado para fazer com que os itens alterados para serem descartados sem que seja salvo.

Consulte também

Conceitos

Lista de verificação: Criação de novos tipos de projeto

A criação de instâncias do projeto usando fábricas de projeto