Sdílet prostřednictvím


VSWebSite – rozhraní

Obsahuje vlastnosti a metody pro webový projekt.

Obor názvů:  VsWebSite
Sestavení:  VsWebSite.Interop (v VsWebSite.Interop.dll)

Syntaxe

'Deklarace
<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 zveřejňuje následující členy.

Vlastnosti

  Název Popis
Veřejná vlastnost CodeFolders Získá kolekce složek, které jsou nakonfigurovány jako kód složek na webu.
Veřejná vlastnost DTE Získá referenci na DTE2 objekt, který obsahuje projekt tohoto webu.
Veřejná vlastnost Project Získá referenci na tomto webu, jako Project objektu.
Veřejná vlastnost References Získává AssemblyReferences objekt obsahující odkazy na sestavení a projektů pro aktuální web.
Veřejná vlastnost TemplatePath Získává úplnou cestu a název složky, která obsahuje šablony pro položky na webu.
Veřejná vlastnost URL Načte adresu URL, která byla použita k otevření webu.
Veřejná vlastnost UserTemplatePath Cesta získá uživatelské složce Šablony pro nové položky projektu.
Veřejná vlastnost VSWebSiteEvents Získává VSWebSiteEvents objekt pro web, který lze použít k přidání obslužné rutiny událostí.
Veřejná vlastnost WebReferences Získává WebReferences objekt obsahující odkazy na webové služby, spotřebované na webu.
Veřejná vlastnost WebServices Získává WebServices objekt obsahující kolekce webových služeb, které jsou vystaveny tímto webem.

Nahoru

Metody

  Název Popis
Veřejná metoda AddFromTemplate Vytvoří nový ProjectItem v projektu webu.
Veřejná metoda EnsureServerRunning Spustí aplikaci ASP.NET Development Server, pokud je to nezbytné a vrátí adresu URL pro web.
Veřejná metoda GetUniqueFilename Vrátí název souboru, který je jedinečný v rámci zadané složky, pomocí přípony názvu souboru a název zadaný kořenový.
Veřejná metoda PreCompileWeb Kompiluje webu a zapíše výstup zkompilovaný do zadané složky.
Veřejná metoda Refresh Aktualizuje na účet pro změny provedené na web mimo sady Visual Studio.
Veřejná metoda WaitUntilReady Blokuje všechna volání metody, až skončí provádění procesy na pozadí.

Nahoru

Poznámky

Použití VSWebSite rozhraní k manipulaci s webový projekt z obou makro nebo doplněk k aplikaci Visual Studio.

Kromě vlastností a metod této třídy, jsou k dispozici další vlastnosti pro projekty webu pomocí dostupných WebSiteProperties třídy.

[!POZNÁMKA]

Je k dispozici verze aplikace Visual Studio, Visual Studio 2005 od funkce poskytované touto třídou.Není k dispozici v aplikaci Visual Web Developer Express Edition.

Příklady

Následující příklad ukazuje, jak používat k interakci s projektu Visual Studio Web serveru.Doplněk používá zápis do protokolu událostí, pokud je odkaz na sestavení obslužné rutiny událostí nebo webový odkaz do webové služby je do projektu.Navíc zapíše shrnutí každého webu projektu do textového souboru po ukončení řešení.

Chcete-li spustit příklad použití Postupy: Vytvoření doplňku k vytvoření projektu doplňku a kód ve výsledném souboru Connect.cs nahraďte ukázkový kód.Musíte také vytvořit odkaz na sestavení 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
}

Viz také

Referenční dokumentace

VsWebSite – obor názvů

EnvDTE

WebSiteProperties

Další zdroje

Referenční dokumentace automatizace a rozšíření

Odkazování na sestavy automatizace a na objekt DTE2

Visual Studio Macros

Vytváření doplňků a průvodců