Aracılığıyla paylaş


IVsSolution2.GetProjectOfProjref Yöntem (String, IVsHierarchy, String, VSUPDATEPROJREFREASON )

 

Belirtilen proje başvurusu dize için bir hiyerarşi döndürür.

Ad Alanı:   Microsoft.VisualStudio.Shell.Interop
Derleme:  Microsoft.VisualStudio.Shell.Interop (Microsoft.VisualStudio.Shell.Interop.dll içinde)

Sözdizimi

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

Parametreler

  • pszProjref
    Type: System.String

    [in] Varolan proje başvurusu dizesi, varsa işaretçisi. Olabilir null.

  • pbstrUpdatedProjref
    Type: System.String

    [out] Güncelleştirilmiş proje başvurusu dize işaretçisi.

Dönüş Değeri

Type: System.Int32

Yöntem başarılı olursa, döndürür S_OK. Başarısız olursa, bir hata kodu döndürür.

Uygulanan

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

Notlar

COM imza

Vsshell.idl:

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

Bu yöntem için iki senaryo vardır:

  • Proje içinde bir çözümü yeniden adlandırıldığında proje başvurusu izler. Bir proje başvurusu bağlamaya çalışırken GUID proje ilk çağırarak çalışır GetProjectOfGuid. Bu çağrı başarılı olursa ve projeyi yeniden adlandırıldı güncelleştirilmiş proje başvurusu için istemci de sağlanır.

  • Projeleri yeni bir çözüme eklenir ve proje başvurusu bağlama açabilir. GUID bağlamak başarısız olursa, proje türü/ad bilgileri kullanarak bulmak için bir deneme yapılır. Bu işlem başarılı olursa, ardından yeni projeyi içeren bir güncelleştirilmiş proje başvurusu döndürülür.

Proje başvurusu içeriğini istemciye donuk. Ancak, bu iki senaryo için iç bizim uygulaması desteklemek için size aşağıdaki bilgilerden oluşan bir proje başvurusu dize sahip olmanız gerekir:

  • Proje atanan ve çözüm dosyası tarafından tutulan GUID

  • Proje türü (veya adı)

Aşağıdaki nasıl açıklamasıdır GetProjectOfProjref yöntemi sürükle ve bırak işlemleri desteklemek için kullanılır:

CF_VSPROJECTITEMS ve CF_VSPROJECTS Pano kullanım biçimleri DROPFILES CF_HDROP veya CF_PRINTERS aynı şekilde yapısı. Aşağıdaki veri DROPFILES yapısıdır çift boş sonlandırılmış bir listesini Projref dizeleri. Windows API'sı bırakma işlemi tüketici kullanabilirsiniz DragQueryFile verileri incelemek için DROPFILES yapısı. CF_VSPROJECTS biçimi sunulan Projref dizeleri projeleri diğer bir deyişle, bir bütün olarak tanımlamak *pitemid VSITEMID_ROOT ==. Ne zaman CF_VSPROJECTITEMS biçimi sunulan Projref dizeleri bir veya daha fazla tek tek proje öğeleri tanımlayın. CF_VSPROJECTS veya CF_VSPROJECTITEMS sunulan, ancak hiçbir zaman hem olmalıdır.

Ayrıca bkz.

IVsSolution2 Arabirim
Microsoft.VisualStudio.Shell.Interop Ad Alanı

Başa dön