Поделиться через


IVsProjectStartupServices Интерфейс

Определение

Обеспечивает расширяемость проектов другими разработчиками.

public interface class IVsProjectStartupServices
public interface class IVsProjectStartupServices
__interface IVsProjectStartupServices
[System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsProjectStartupServices
[System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsProjectStartupServices
[<System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsProjectStartupServices = interface
[<System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsProjectStartupServices = interface
Public Interface IVsProjectStartupServices
Атрибуты

Комментарии

IVsProjectStartupServices — это необязательный интерфейс, позволяющий стороннему vsPackage зарегистрировать GUID службы, который проект сохраняет в файле проекта, чтобы при каждой загрузке проекта вы загружали эти сведения в файл проекта и QueryService для этого GUID. Это позволяет отложить загрузку пакета VSPackage стороннего производителя в момент повторной загрузки проекта. Таким образом, сторонний vsPackage избегает использования устаревшего параметра Preload=1 в реестре. Однако VSPackage по-прежнему гарантирует, что он загружается во время загрузки проекта.

Проект должен только вызвать QueryService , передав ему параметры (guidService, IID_IUnknown, &punk); он не пытается вызвать метод в службе. После загрузки VSPackage может перечислить загруженные проекты и выполнить соответствующие операции (например, подключиться к событиям проекта).

Интерфейс IVsProjectStartupServices можно получить из иерархии проекта следующим образом:

GetProperty(IVsProjectStartupServices, IVsProjectStartupServices...)

IVsProjectStartupServices используется в первую очередь для расширяемости при создании типа проекта, расширяемого другими разработчиками.

Примечания для тех, кто реализует этот метод

Реализуется в , IVsHierarchy чтобы сделать проект расширяемым для других разработчиков.

Методы

AddStartupService(Guid)

Добавляет стороннюю службу в список служб, которые должны запускаться при создании экземпляра проекта и обеспечивает запуск всех сторонних служб.

GetStartupServiceEnum(IEnumProjectStartupServices)

Используется для поиска элемента массива службы стороннего производителя по GUID.

RemoveStartupService(Guid)

Удаляет идентификатор GUID идентификатора службы из списка запускаемых сторонних служб и освобождает службу, если та была загружена.

Применяется к