IVsSolutionBuildManager.GetProjectDependencies 方法

返回给定层次结构依赖项的列表。

命名空间:  Microsoft.VisualStudio.Shell.Interop
程序集:  Microsoft.VisualStudio.Shell.Interop(在 Microsoft.VisualStudio.Shell.Interop.dll 中)

语法

声明
Function GetProjectDependencies ( _
    pHier As IVsHierarchy, _
    celt As UInteger, _
    <OutAttribute> rgpHier As IVsHierarchy(), _
    <OutAttribute> pcActual As UInteger() _
) As Integer
int GetProjectDependencies(
    IVsHierarchy pHier,
    uint celt,
    IVsHierarchy[] rgpHier,
    uint[] pcActual
)

参数

  • pcActual
    类型:array<System.UInt32[]
    [out, optional] 对项的数量的指针。

返回值

类型:System.Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

COM 签名

从 vsshell.idl:

HRESULT IVsSolutionBuildManager::GetProjectDependencies(
   [in] IVsHierarchy *pHier,
   [in] ULONG celt,
   [in, out, size_is(celt)] IVsHierarchy *rgpHier[],
   [out, optional] ULONG *pcActual
);

返回给定层次结构依赖项的列表。

您应在调用 GetProjectDependencies 之前调用 CalculateProjectDependencies ,如果您不确定的,如果依赖项调用是最新的。 CalculateProjectDependencies 将强制项目依赖项重新计算。

应两次,第一次调用此方法与 celt= 0 和 rgpHier= nullnull 引用(在 Visual Basic 中为 Nothing),获取在 pcActual的大小,然后单击第二次是在发行列表获取之后项目。

方法如下执行 (错误检查省略):

ULONG ulActual;

hr = pIVsSolutionBuildManager->GetProjectDependencies(pHier, 0, NULL, &ulActual)

// allocate memory to hold the hierarchy pointers

IVsHierarchy** rgpIVsHierarchy = (IVsHierarchy**) ::CoTaskMemAlloc(ulActual * sizeof(IVsHierarchy *));

memset(rgpIVsHierarchy, 0, sizeof(IVsHierarchy*)*ulActual);

// now get the hierarchy pointers

ULONG ulActual2;

hr = pIVsSolutionBuildManager->GetProjectDependencies(pHier, ulActual, rgpIVsHierarchy, &ulActual2);

// use the pointers here

// release the hier pointers

// release the memory

::CoTaskMemFree(rgpIVsHierarchy);

.NET Framework 安全性

请参见

参考

IVsSolutionBuildManager 接口

Microsoft.VisualStudio.Shell.Interop 命名空间