Compartilhar via


Interface IPersistXMLFragment

 

Publicado: junho de 2016

Usado para manter os dados relacionados de não-compilação em XML de forma livre.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.8.0 (em Microsoft.VisualStudio.Shell.Interop.8.0.dll)

Sintaxe

[InterfaceTypeAttribute(1)]
[GuidAttribute("6B0C8632-6F01-4E54-9645-FFE82A2F4FE9")]
public interface IPersistXMLFragment
[InterfaceTypeAttribute(1)]
[GuidAttribute("6B0C8632-6F01-4E54-9645-FFE82A2F4FE9")]
public interface class IPersistXMLFragment
[<InterfaceTypeAttribute(1)>]
[<GuidAttribute("6B0C8632-6F01-4E54-9645-FFE82A2F4FE9")>]
type IPersistXMLFragment = interface end
<InterfaceTypeAttribute(1)>
<GuidAttribute("6B0C8632-6F01-4E54-9645-FFE82A2F4FE9")>
Public Interface IPersistXMLFragment

Métodos

Nome Descrição
System_CAPS_pubmethod InitNew(Guid, UInt32)

Inicializa as propriedades de extensão do projeto e outros dados de compilação independente.

System_CAPS_pubmethod IsFragmentDirty(UInt32, Int32)

Determina se um fragmento XML foi alterado desde que foi salvo pela última vez em seu arquivo atual.

System_CAPS_pubmethod Load(Guid, UInt32, String)

O projeto abre e lê o fragmento XML e o subtipo de projeto GUID de um tipo de arquivo especificado.

System_CAPS_pubmethod Save(Guid, UInt32, String, Int32)

Sistema de projeto base direciona o subtipo de projeto para criar o subtipo de projeto informações XML e salvá-lo no arquivo de projeto ou usuário.

Comentários

IPersistXMLFragment pode ser implementado sobre o objeto de agregador de subtipo de projeto principal e os objetos de configuração do subtipo de projeto. O projeto base chama o objeto de agregador de subtipo de projeto principal para carregar ou salvar dados de configuração independente. O projeto básico também pode chamar sobre os objetos de configuração do subtipo de projeto para carregar ou salvar os dados de configuração.

Chamadas de projeto de base IPersistXMLFragment métodos para cada nível de agregação, passando o GUID para cada nível. O projeto básico, em seguida, passa ou recebe o fragmento XML dedicado para o subtipo de projeto específico. No caso mais comum a implementação de subtipo de projeto intercepta próprio GUID depois que o projeto base passá-lo e lida com a chamada e encaminha todas as outras chamadas para os subtipos de projeto interno (com seus GUIDs específicos). O subtipo de projeto também pode optar por modificar os dados que ele passa para os subtipos internos antes ou depois da chamada para IPersistXMLFragment.

O projeto base mantém uma coleção de nós XML atribuída com o tipo de configuração e o GUID da subtipo de projeto sob o ProjectExtensions \ VisualStudio nó na árvore XML do Microsoft Build Engine (MSBuild).

Um exemplo de dados XML dedicados para um subtipo de projeto específico pode ser semelhante ao cenário de exemplo abaixo.

<ProjectExtensions>

  <VisualStudio>

    <FlavorData= "GUID_Flavor">

      {Flavor debug data}

    </FlavorData>

  </VisualStudio>

</ProjectExtensions>

Observações para implementadores:

Implementar IPersistXMLFragment Habilitar a persistência de compilação não relacionadas a dados nos arquivos de projeto por subtipos de projeto.

Consulte também

Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo