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 идентификатора службы из списка запускаемых сторонних служб и освобождает службу, если та была загружена. |