Método IVsSolution2.GetProjectOfProjref (String, IVsHierarchy, String, VSUPDATEPROJREFREASON )
Publicado: abril de 2016
Retorna uma hierarquia para a seqüência de referência do projeto especificado.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
int GetProjectOfProjref(
string pszProjref,
out IVsHierarchy ppHierarchy,
out string pbstrUpdatedProjref,
VSUPDATEPROJREFREASON[] puprUpdateReason
)
int GetProjectOfProjref(
String^ pszProjref,
[OutAttribute] IVsHierarchy^% ppHierarchy,
[OutAttribute] String^% pbstrUpdatedProjref,
array<VSUPDATEPROJREFREASON>^ puprUpdateReason
)
abstract GetProjectOfProjref :
pszProjref:string *
ppHierarchy:IVsHierarchy byref *
pbstrUpdatedProjref:string byref *
puprUpdateReason:VSUPDATEPROJREFREASON[] -> int
Function GetProjectOfProjref (
pszProjref As String,
<OutAttribute> ByRef ppHierarchy As IVsHierarchy,
<OutAttribute> ByRef pbstrUpdatedProjref As String,
puprUpdateReason As VSUPDATEPROJREFREASON()
) As Integer
Parâmetros
- pszProjref
[in] Ponteiro para a existente seqüência de referência de projeto, se aplicável.Can be null.
- ppHierarchy
[out] Ponteiro para o IVsHierarchy interface é nomeada de acordo com a referência do projeto.
- pbstrUpdatedProjref
[out] Ponteiro para a seqüência de referência de projeto atualizado.
- puprUpdateReason
[out] Identificado descrevendo o motivo da alteração na seqüência de referência de projeto.Para obter uma lista de puprUpdateReason valores, consulte VSUPDATEPROJREFREASON.
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Implementações
IVsSolution.GetProjectOfProjref(String, IVsHierarchy, String, VSUPDATEPROJREFREASON[])
Comentários
COM assinatura
De vsshell.idl:
HRESULT IVsSolution2::GetProjectOfProjref(
[in] LPCOLESTR pszProjref,
[out] IVsHierarchy **ppHierarchy,
[out] BSTR *pbstrUpdatedProjref,
[out] VSUPDATEPROJREFREASON *puprUpdateReason
);
Há dois cenários para este método:
A referência de projeto controla quando o projeto é renomeado dentro de uma única solução.Ao tentar vincular uma referência de projeto, o GUID do projeto é tentado em primeiro lugar, chamando GetProjectOfGuid.Se essa chamada tiver êxito e o projeto foi renomeado, a referência de projeto atualizado também é fornecida para o cliente.
Projetos são adicionados a uma nova solução e a referência de projeto é ainda é possível ligar.Se o GUID não ligar, é feita uma tentativa para localizar o projeto usando as informações de nome do tipo.Se isso tiver êxito, uma referência ao projeto atualizado que inclui o novo projeto é retornada.
O conteúdo de referência de projeto é opaco para o cliente.No entanto, para oferecer suporte a esses dois cenários para nossa implementação interna, precisamos ter uma seqüência de referência do projeto é composta das seguintes informações:
GUID atribuído e mantido pelo arquivo de solução do projeto
Tipo (ou nome) do projeto
A seguir está uma descrição de como o GetProjectOfProjref método é usado para dar suporte às operações de arrastar e soltar:
Uso de formatos na área de transferência CF_VSPROJECTITEMS e CF_VSPROJECTS a DROPFILES estrutura da mesma maneira como CF_HDROP ou CF_PRINTERS.Os dados que segue a DROPFILES estrutura é uma lista de terminação dupla-nula de Projref seqüências de caracteres.O consumidor da operação soltar pode usar a API do Windows DragQueryFile para examinar os dados a DROPFILES estrutura.Formato CF_VSPROJECTS é oferecido quando o Projref seqüências identificam projetos como um todo, isto é, *pitemid = = VSITEMID_ROOT.O formato CF_VSPROJECTITEMS é oferecido quando o Projref seqüências identificam um ou mais itens de projeto individual.O CF_VSPROJECTS ou CF_VSPROJECTITEMS deve ser oferecida, mas nunca os dois.
Consulte também
Interface IVsSolution2
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo