Udostępnij za pośrednictwem


Interfejs VSWebSite

Zawiera właściwości i metody dla projektu witryny sieci Web.

Przestrzeń nazw:  VsWebSite
Zestaw:  VsWebSite.Interop (w VsWebSite.Interop.dll)

Składnia

'Deklaracja
<GuidAttribute("70758CA4-91F8-46AD-80A7-73BC21BAE68B")> _
Public Interface VSWebSite
[GuidAttribute("70758CA4-91F8-46AD-80A7-73BC21BAE68B")]
public interface VSWebSite
[GuidAttribute(L"70758CA4-91F8-46AD-80A7-73BC21BAE68B")]
public interface class VSWebSite
[<GuidAttribute("70758CA4-91F8-46AD-80A7-73BC21BAE68B")>]
type VSWebSite =  interface end
public interface VSWebSite

Typ VSWebSite uwidacznia następujące elementy członkowskie.

Właściwości

  Nazwa Opis
Właściwość publiczna CodeFolders Zwraca kolekcję folderów, które są skonfigurowane jako kod folderów witryny sieci Web.
Właściwość publiczna DTE Pobiera odwołanie do DTE2 obiekt, który zawiera projekt witryny sieci Web.
Właściwość publiczna Project Pobiera odwołanie do tej witryny sieci Web jako Project obiektu.
Właściwość publiczna References Pobiera AssemblyReferences obiektu zawierającego odwołania do zestawów i projektów dla bieżącej witryny sieci Web.
Właściwość publiczna TemplatePath Pobiera pełną ścieżkę i nazwę folderu, który zawiera szablony dla elementów witryny sieci Web.
Właściwość publiczna URL Pobiera adres URL, który został użyty do otwarcia witryny sieci Web.
Właściwość publiczna UserTemplatePath Pobiera ścieżkę do folderu szablonów użytkownika dla nowych elementów projektu.
Właściwość publiczna VSWebSiteEvents Pobiera VSWebSiteEvents obiektu dla witryny sieci Web, która może służyć do dodawania obsługi zdarzeń.
Właściwość publiczna WebReferences Pobiera WebReferences obiektu zawierającego odwołania do usług sieci Web spożywanych przez witryny sieci Web.
Właściwość publiczna WebServices Pobiera WebServices obiektu zawierającego zbiór usług sieci Web, które są udostępniane przez tę witrynę sieci Web.

Początek

Metody

  Nazwa Opis
Metoda publiczna AddFromTemplate Tworzy nowy ProjectItem w projekcie witryny sieci Web.
Metoda publiczna EnsureServerRunning Uruchamia program ASP.NET Development Server, jeśli to konieczne i zwraca adres URL dla witryny sieci Web.
Metoda publiczna GetUniqueFilename Zwraca nazwę pliku, który jest unikatowy w określonym folderze, używając określonego katalogu głównego nazwa i rozszerzenie.
Metoda publiczna PreCompileWeb Kompiluje witryny sieci Web i zapisuje skompilowany dane wyjściowe do określonego folderu.
Metoda publiczna Refresh Odświeża wyświetlanie konta do zmiany wprowadzone w witrynie sieci Web poza programu Visual Studio.
Metoda publiczna WaitUntilReady Blokuje wszystkie wywołania metody do momentu tła procesy zostały zakończone, wykonywanie.

Początek

Uwagi

Użyj VSWebSite interfejsu do manipulowania projektu witryny sieci Web, z albo makro lub dodatek do programu Visual Studio.

Oprócz właściwości i metod w tej klasie, istnieją więcej właściwości dla witryny sieci Web projektów dostępne za pomocą WebSiteProperties klasy.

[!UWAGA]

Funkcji tej klasy jest dostępna w wersji programu Visual Studio, począwszy od programu Visual Studio 2005.Nie jest dostępny w Visual Web Developer Express Edition.

Przykłady

Poniższy przykład pokazuje, jak używania dodatku w celu interakcji z projektu programu Visual Studio sieci Web witryny.Dodaj w używa obsługi zdarzeń do zapisu w dzienniku zdarzeń, gdy albo odwołanie do zestawu lub odwołania sieci Web do usługi sieci Web jest dodawany do projektu.Ponadto zapisuje podsumowanie każdego projektu witryny sieci Web do pliku tekstowego, gdy roztwór jest zamknięty.

Aby uruchomić w przykładzie, należy użyć Porady: tworzenie dodatku do tworzenia projektu w i cały kod w wynikowym pliku Connect.cs zastąpić przykładowy kod.Należy również utworzyć odwołanie do zestawu VsWebSite.Interop.

[C#]

using System;
using System.IO;
using System.Collections;
using System.Diagnostics;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using VsWebSite;

// The object for implementing an Add-in.
public class Connect : IDTExtensibility2
{
    private DTE2 _applicationObject;
    private AddIn _addInInstance;

    // Implements the constructor for the Add-in object.
    // Created by the Add-In Wizard
    public Connect()
    {
    }

    // Event method created by the Add-In Wizard.
    // Occurs when the Add-In connects with the application.
    public void OnConnection(object application, ext_ConnectMode 
        connectMode, object addInInst, ref Array custom)
    {
        _applicationObject = (DTE2)application;
        _addInInstance = (AddIn)addInInst;

        // Attach Solution event handlers
        _applicationObject.DTE.Events.SolutionEvents.Opened 
            += new _dispSolutionEvents_OpenedEventHandler
                (SolutionEvents_Opened);
        _applicationObject.DTE.Events.SolutionEvents.QueryCloseSolution 
            += new _dispSolutionEvents_QueryCloseSolutionEventHandler
                (SolutionEvents_QueryCloseSolution);
    }

    // Custom event method that occurs before a solution is closed.
    private void SolutionEvents_QueryCloseSolution(ref bool fCancel)
    {
        foreach (Project proj in _applicationObject.Solution.Projects)
        {
            // Make sure background compilation is finished
            ((VSWebSite)proj.Object).WaitUntilReady();

            System.Text.StringBuilder strBldr = 
                new System.Text.StringBuilder();

            strBldr.AppendLine("Summary for Web Site: " 
                + ((VSWebSite)proj.Object).URL);
            strBldr.AppendLine("Solution: " 
                + _applicationObject.Solution.FullName);
            strBldr.AppendLine("Web References:");
            foreach (WebReference wref in 
                ((VSWebSite)proj.Object).WebReferences)
                strBldr.AppendLine("    " + wref.Namespace);
            strBldr.AppendLine("Assembly References:");
            foreach (AssemblyReference aref in 
                ((VSWebSite)proj.Object).References)
                strBldr.AppendLine("    " + aref.Name);
            // list the files?

            ((VSWebSite)proj.Object).VSWebSiteEvents.WebReferencesEvents.WebReferenceAdded
                -= WebRefEvents_WebRefAdded;

            string strBody = strBldr.ToString();

            // Save the summary as a text file in the Web site.
            string fName = _applicationObject.FullName;
            fName = fName.Substring(0, fName.Length - 4);
            fName += "." + ((VSWebSite)proj.Object).GetUniqueFilename
                ("/", "ProjectSummary", ".txt");
            if (File.Exists(fName))
                File.Delete(fName);
            StreamWriter sw = File.CreateText(fName);
            sw.Write(strBody);
            sw.Close();
        }
    }

    // Custom event method that occurs when a solution is opened.
    private void SolutionEvents_Opened()
    {
        // When solution is opened, attach event handlers for projects
        foreach (Project proj in _applicationObject.Solution.Projects)
        {   // Only attach event handlers if it is a Web site
            if (proj.Object is VSWebSite)
            {
                ((VSWebSite)proj.Object).VSWebSiteEvents.WebReferencesEvents.WebReferenceAdded +=
                    new _dispWebReferencesEvents_WebReferenceAddedEventHandler
                    (WebRefEvents_WebRefAdded);
                ((VSWebSite)proj.Object).VSWebSiteEvents.AssemblyReferencesEvents.AssemblyReferenceAdded += 
                    new _dispAssemblyReferencesEvents_AssemblyReferenceAddedEventHandler
                    (AssemblyRefsEvents_AssemblyRefAdded);
            }
        }
    }

    // Custom event method that occurs when a Reference is added.
    private void AssemblyRefsEvents_AssemblyRefAdded(AssemblyReference AssemblyRef)
    {
        EventLog appLog = new EventLog();
        appLog.Source = "VSWSTest." + AssemblyRef.ContainingProject.Name;
        appLog.WriteEntry("AssemblyReference added: " + AssemblyRef.Name);
    }
    
    // Custom event method that occurs when a Web Reference is added.
    private void WebRefEvents_WebRefAdded(WebReference webRef)
    {
        EventLog appLog = new EventLog();
        appLog.Source = "VSWSTest." + webRef.ContainingProject.Name;
        appLog.WriteEntry("WebReference added: " + webRef.Namespace);
    }

    #region Required but unused event handlers

    /// <summary>Implements the OnDisconnection method of the IDTExtensibility2 interface. Receives notification that the Add-in is being unloaded.</summary>
    /// <param term='disconnectMode'>Describes how the Add-in is being unloaded.</param>
    /// <param term='custom'>Array of parameters that are host application specific.</param>
    /// <seealso class='IDTExtensibility2' />
    public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
    {
    }

    /// <summary>Implements the OnAddInsUpdate method of the IDTExtensibility2 interface. Receives notification when the collection of Add-ins has changed.</summary>
    /// <param term='custom'>Array of parameters that are host application specific.</param>
    /// <seealso class='IDTExtensibility2' />
    public void OnAddInsUpdate(ref Array custom)
    {
    }

    /// <summary>Implements the OnStartupComplete method of the IDTExtensibility2 interface. Receives notification that the host application has completed loading.</summary>
    /// <param term='custom'>Array of parameters that are host application specific.</param>
    /// <seealso class='IDTExtensibility2' />
    public void OnStartupComplete(ref Array custom)
    {
    }

    /// <summary>Implements the OnBeginShutdown method of the IDTExtensibility2 interface. Receives notification that the host application is being unloaded.</summary>
    /// <param term='custom'>Array of parameters that are host application specific.</param>
    /// <seealso class='IDTExtensibility2' />
    public void OnBeginShutdown(ref Array custom)
    {
    }

    #endregion
}

Zobacz też

Informacje

Przestrzeń nazw VsWebSite

EnvDTE

WebSiteProperties

Inne zasoby

Odwołanie do automatyzacji i rozszerzalności

Odwołania do zestawów automatyzacji i obiektu DTE2

Visual Studio Macros

Tworzenie dodatków i kreatorów