IVsPackage.SetSite 方法

初始化一个后退指针的 VSPackage 对环境。

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

语法

声明
Function SetSite ( _
    psp As IServiceProvider _
) As Integer
int SetSite(
    IServiceProvider psp
)

参数

返回值

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

备注

COM 签名

从 vsshell.idl:

HRESULT IVsPackage::SetSite(
   [in] IServiceProvider *pSP
);

这是在 IVsPackage 接口的最重要的方法。

此方法的实现,可以:

  • 存储 psp。

  • 使用接口 IVsPersistSolutionOpts 接口和 IVsPersistSolutionProps 接口,加载持久性数据。

  • 主张服务,因此,如果有的话)。

  • 可用的注册工厂文档编辑器,因此,如果任何一个。

  • 注册可用的项目类型工厂,因此,如果有的话)。

  • 请求由其他 Vspackage 实现的服务

,当这些步骤完成后,必须提供的服务。否则,需要使用服务可以加载请求您提供的 VSPackage。但是,,因为您可用它,另一个 VSPackage 中加载失败,因此,您不能对请求的服务的访问,可能会导致加载失败。

在结束 VSPackage 和释放环境中返回错误结果代码结果其资源。

此方法的实现不应假定, UI 可用。不要尝试添加窗格。 输出窗口 或使用依赖于 UI 可用的其他服务。例如,那么,当 devenv 调用具有 /setup SetSite 时会调用和 UI 不可用。

.NET Framework 安全性

请参见

参考

IVsPackage 接口

Microsoft.VisualStudio.Shell.Interop 命名空间