VSWebSite, interface
Fournit des propriétés et des méthodes pour un projet de site Web.
Espace de noms : VsWebSite
Assembly : VsWebSite.Interop (dans VsWebSite.Interop.dll)
Syntaxe
'Déclaration
<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
Le type VSWebSite expose les membres suivants.
Propriétés
Nom | Description | |
---|---|---|
CodeFolders | Obtient une collection de dossiers qui sont configurés comme des dossiers de code dans le site Web. | |
DTE | Obtient une référence à l'objet DTE2 qui contient ce projet de site Web. | |
Project | Obtient une référence à ce site Web en tant qu'objet Project. | |
References | Obtient un objet AssemblyReferences contenant des références aux assemblys et projets du site Web actuel. | |
TemplatePath | Obtient le chemin d'accès complet et le nom du dossier qui contient les modèles des éléments de site Web. | |
URL | Obtient l'URL qui a été utilisée pour ouvrir le site Web. | |
UserTemplatePath | Obtient le chemin d'accès au dossier de modèles utilisateur pour les nouveaux éléments de projet. | |
VSWebSiteEvents | Obtient l'objet VSWebSiteEvents pour le site Web, qui peut être utilisé pour ajouter des gestionnaires d'événements. | |
WebReferences | Obtient un objet WebReferences contenant des références aux services Web consommés par le site Web. | |
WebServices | Obtient un objet WebServices qui contient une collection de services Web exposés par ce site Web. |
Début
Méthodes
Nom | Description | |
---|---|---|
AddFromTemplate | Crée un nouveau ProjectItem dans le projet de site Web. | |
EnsureServerRunning | Démarre le serveur de développement ASP.NET, si nécessaire, et retourne l'URL du site Web. | |
GetUniqueFilename | Retourne un nom de fichier qui est unique dans le dossier spécifié, à l'aide du nom de la racine spécifié et de l'extension du nom de fichier. | |
PreCompileWeb | Compile le site Web et écrit les résultats de compilation dans le dossier spécifié. | |
Refresh | Actualise l'affichage pour rendre compte des modifications qui ont été apportées au site Web en dehors de Visual Studio. | |
WaitUntilReady | Bloque tous les appels de méthode jusqu'à la fin de l'exécution des processus en arrière-plan. |
Début
Notes
Utilisez l'interface VSWebSite pour manipuler un projet de site Web à partir d'une macro ou d'un complément vers Visual Studio.
Outre les propriétés et méthodes de cette classe, d'autres propriétés pour les projets de site Web sont disponibles en utilisant la classe WebSiteProperties.
Notes
Les fonctionnalités fournies par cette classe sont disponibles dans les versions de Visual Studio à partir de Visual Studio 2005.Cette fonctionnalité n'est pas disponible dans Visual Web Developer Express.
Exemples
L'exemple suivant indique comment utiliser un complément pour interagir avec un projet de site Web Visual Studio. Le complément utilise des gestionnaires d'événements pour écrire dans le journal des événements lorsqu'une référence à un assembly ou une référence Web à un service Web est ajoutée au projet. De plus, il écrit un résumé de chaque projet de site Web dans un fichier texte lorsque la solution est fermée.
Pour exécuter l'exemple, utilisez l'Comment : créer un complément pour créer un projet de complément et remplacez tout le code du fichier Connect.cs obtenu par l'exemple de code. Vous devrez également créer une référence à l'assembly 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
}
Voir aussi
Référence
Autres ressources
Guide de référence de l'extensibilité et de l'automation