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


VSWebSiteEvents - интерфейс

Обновлен: Ноябрь 2007

Предоставляет доступ к коллекциям событий в проекте веб-узла.

Пространство имен:  VsWebSite
Сборка:  VsWebSite.Interop (в VsWebSite.Interop.dll)

Синтаксис

'Декларация
<GuidAttribute("9F1B1C2C-FA11-44AB-A7DA-926FF1927C70")> _
Public Interface VSWebSiteEvents
'Применение
Dim instance As VSWebSiteEvents
[GuidAttribute("9F1B1C2C-FA11-44AB-A7DA-926FF1927C70")]
public interface VSWebSiteEvents
[GuidAttribute(L"9F1B1C2C-FA11-44AB-A7DA-926FF1927C70")]
public interface class VSWebSiteEvents
public interface VSWebSiteEvents

Заметки

Этот интерфейс доступен через свойство VSWebSiteEvents объекта VSWebSite, который можно получить только через ссылку на текущий проект Visual Studio, как показано в следующем примере:

Dim ws As VsWebSite.VSWebSite = DTE.Solution.Projects.Item(1).Object
ms778695.alert_note(ru-ru,VS.90).gifПримечание.

Предоставляемые этим классом функциональные возможности доступны в версиях Visual Studio, начиная с Visual Studio 2005. Они недоступны в экспресс-выпуске Visual Web Developer.

Примеры

В следующем примере кода макроса показано, как подписаться на событие VSWebSite. Для использования модуля необходимо открыть проект веб-узла в Visual Studio и с помощью меню Сервис открыть среду разработки макросов. Затем необходимо создать новый модуль и вставить в него код из примера.

Также необходимо добавить в модуль ссылку на сборку VsWebSite.Interop. Инициализировать подписку на событие можно, разместив курсор на методе InitEvents() и нажав кнопку F5. Для проверки каждого события необходимо выполнить указанное действие в проекте веб-узла. Дополнительные сведения см. в разделе Практическое руководство. Обработка событий в макросе.

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports VsWebSite
Imports System.Diagnostics

Public Module VsWS_Events
    ' Initialize the VsWebSite and the Events
    Sub InitAssemblyRefsEvents()
        ' Get a reference to the first Web site 
        ' in the current solution
        Dim ws As VsWebSite.VSWebSite = _
            DTE.Solution.Projects.Item(1).Object

        ' Attach the Web site events to module events
        AssemblyRefsEvents = _
            ws.VSWebSiteEvents.AssemblyReferencesEvents
    End Sub

    ' Declare the event
    ' The macro IDE requires the attribute 
    ' in order to trap the events
    <System.ContextStaticAttribute()> _
    Public WithEvents AssemblyRefsEvents As _
        VsWebSite.AssemblyReferencesEvents

    <System.ContextStaticAttribute()> _
    Public WithEvents MiscEvents As _
        VsWebSite.WebSiteMiscEvents

    <System.ContextStaticAttribute()> _
    Public WithEvents WebRefsEvents As _
        VsWebSite.WebReferencesEvents

    <System.ContextStaticAttribute()> _
    Public WithEvents WebSvcsEvents As _
        VsWebSite.WebServicesEvents

    ' Handler for the AssemblyReferenceAdded event
    ' Test: Add an Assembly Reference to your Web site project
    Private Sub AssemblyRefAdded _
        (ByVal ref As VsWebSite.AssemblyReference) _
            Handles AssemblyRefsEvents.AssemblyReferenceAdded

        ' Display the name of the added reference
        MsgBox("Assembly Added: " & ref.Name)
    End Sub

    ' Handler for the After Refresh Folder event
    ' Test: Refresh a folder in your Web site project
    Private Sub AfterRefresh _
        (ByVal ref As Object) _
            Handles MiscEvents.OnAfterFolderRefresh

        ' Display the folder as text
        MsgBox("Folder Refreshed: " & ref.ToString())
    End Sub

    ' Handler for the Web Reference Added event
    ' Test: Add a Web Reference to your Web site project
    Private Sub WebRefAdded _
        (ByVal ref As VsWebSite.WebReference) _
            Handles WebRefsEvents.WebReferenceAdded

        ' Display the name of the added reference
        MsgBox("Web Reference Added: " & ref.Name)
    End Sub

    ' Handler for the Web Service Added event
    ' Test: Add a Web service to your Web site project
    Private Sub WebSvcAdded _
        (ByVal ref As VsWebSite.WebService) _
            Handles WebSvcsEvents.WebServiceAdded

        ' Display the name of the added item
        MsgBox("Web Service Added: " & ref.Name)
    End Sub
End Module

См. также

Ссылки

VSWebSiteEvents - члены

VsWebSite - пространство имен

DTE

VsWebSite

AssemblyReferencesEvents

WebReferencesEvents

WebServicesEvents

WebSiteMiscEvents

Другие ресурсы

Справочник по автоматизации и возможностям расширения среды

Создание ссылок на сборки автоматизации и объект DTE2

Макросы Visual Studio

Создание надстроек и мастеров

Практическое руководство. Обработка событий в макросе