Udostępnij za pośrednictwem


Metoda IVsSolution2.GetProjectOfProjref — (String, IVsHierarchy, String, VSUPDATEPROJREFREASON )

 

Opublikowano: sierpień 2016

Zwraca hierarchię dla ciągu odwołanie do określonego projektu.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)

Składnia

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

Parametry

  • pszProjref
    Type: System.String

    [in] Wskaźnik do istniejących parametrów odwołanie do projektu, jeśli to konieczne. Może być null.

  • pbstrUpdatedProjref
    Type: System.String

    [out] Wskaźnik do ciągu odwołanie zaktualizowany projekt.

Wartość zwracana

Type: System.Int32

Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.

Implementuje

IVsSolution.GetProjectOfProjref(String, IVsHierarchy, String, VSUPDATEPROJREFREASON[])

Uwagi

Podpis COM

Z vsshell.idl:

HRESULT IVsSolution2::GetProjectOfProjref(
   [in] LPCOLESTR pszProjref, 
   [out] IVsHierarchy **ppHierarchy, 
   [out] BSTR *pbstrUpdatedProjref, 
   [out] VSUPDATEPROJREFREASON *puprUpdateReason
);

Istnieją dwa scenariusze dla tej metody:

  • Odwołanie do projektu śledzi, gdy projekt jest zmieniana w ramach jednego rozwiązania. Podczas próby powiązania odwołania projektu, identyfikator GUID pierwszej próbie przez wywołanie metody GetProjectOfGuid. Jeśli to wywołanie zakończy się pomyślnie i projektu została zmieniona, odwołanie do zaktualizowanego projektu jest również udostępniany w dla klienta.

  • Projekty są dodawane do nowego rozwiązania, a odwołanie do projektu jest nadal można powiązać. Jeśli identyfikator GUID nie może powiązać, aby zlokalizować projektu przy użyciu informacji typu/nazwa jest podejmowana próba. Jeśli to się powiedzie, zwracany jest odwołanie do projektu zaktualizowane, która obejmuje nowy projekt.

Zawartość odwołania projektu jest nieprzezroczyste do klienta. Jednak w celu obsługi tych dwóch scenariuszy dla naszych wewnętrzny implementacji, musimy mieć ciąg odwołania projektu, który składa się z następujących informacji:

  • Identyfikator GUID projektu przypisane i utrzymywane przez plik rozwiązania

  • Projekt typu (lub nazwę)

Poniżej znajduje się opis sposobu GetProjectOfProjref Metoda jest używana do obsługi operacji przeciągania i upuszczania:

Użyj formaty Schowka CF_VSPROJECTITEMS i CF_VSPROJECTS DROPFILES struktury w taki sam sposób jak CF_HDROP lub CF_PRINTERS. Dane, który następuje DROPFILES struktury znajduje się lista zakończony znakiem NULL podwójnej Projref ciągów. Konsument operacji usuwania można użyć interfejsu API systemu Windows DragQueryFile zbadać danych w DROPFILES struktury. CF_VSPROJECTS format jest oferowana, kiedy Projref ciągów zidentyfikować projekty jako całości, czyli *pitemid == VSITEMID_ROOT. CF_VSPROJECTITEMS format jest oferowana, gdy Projref ciągów zidentyfikować jeden lub więcej elementów pojedynczego projektu. CF_VSPROJECTS lub CF_VSPROJECTITEMS powinna być oferowany, ale nie oba.

Zobacz też

Interfejs IVsSolution2
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku