VSProject2, interface
Contient des informations spécifiques à un projet Visual Basic ou Visual C#. L'objet Object retourne cet élément lorsque le projet est de type Visual Basic ou Visual C#.
Espace de noms : VSLangProj80
Assembly : VSLangProj80 (dans VSLangProj80.dll)
Syntaxe
'Déclaration
<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
Inherits VSProject
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
[<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")>]
type VSProject2 =
interface
interface VSProject
end
public interface VSProject2 extends VSProject
Le type VSProject2 expose les membres suivants.
Propriétés
Nom | Description | |
---|---|---|
BuildManager | Obtient l'objet BuildManager de VSProject. | |
DTE | Obtient l'objet d'extensibilité de niveau supérieur. | |
Events | Obtient un objet VSProjectEvents qui vous permet de répondre aux événements des objets Imports, References et BuildManager. | |
Events2 | Obtient un objet VSProjectEvents2 qui vous permet de répondre aux événements des objets Imports, References, BuildManager et VSLangProjWebReferencesEvents. | |
Imports | Obtient l'objet Imports associé au projet.Pour les projets C#, la propriété Imports a la valeur Nothing (une référence nullune référence null (Nothing en Visual Basic)). | |
Project | Obtient l'objet Project générique associé au projet Visual Basic ou Visual C#. | |
PublishManager | Obtient un objet PublishManager pour autoriser la publication ClickOnce. | |
References | Obtient la collection References du projet. | |
TemplatePath | Cette propriété est déconseillée dans Microsoft Visual Studio 2005.Utilisez plutôt GetProjectItemTemplate. | |
WebReferencesFolder | Obtient l'objet ProjectItem représentant le dossier Web References du projet.Si le dossier n'existe pas, cette propriété retourne Nothing (une référence nullune référence null (Nothing en Visual Basic) ). | |
WorkOffline | Détermine si un projet Web fonctionne en ligne ou hors connexion.Lorsque le projet fonctionne hors connexion, le développement se poursuit dans un magasin hors connexion de fichiers projet ; les fichiers projet du serveur ne sont donc pas modifiés. |
Début
Méthodes
Nom | Description | |
---|---|---|
AddWebReference | Ajoute au projet une référence à un service Web.Un nouveau sous-dossier de référence à un service Web est ajouté au dossier Web References du projet.Ce nouveau dossier contient plusieurs autres éléments de projet relatifs au service Web.La méthode retourne l'objet ProjectItem associé au nouveau dossier de service Web. | |
CopyProject | Copie entièrement ou partiellement un projet Web à un nouvel emplacement. | |
CreateWebReferencesFolder | Crée le dossier Web References du projet. | |
Exec | Infrastructure. Réservé à un usage interne Microsoft. | |
GenerateKeyPairFiles | Génère un fichier de clés publique/privée afin de former un nom fort pour l'assembly. | |
GetUniqueFilename | Génère un nom de fichier unique dans le projet. il est utilisé pour nommer des éléments de projet. | |
Refresh | Actualise l'apparence du projet dans l'Explorateur de solutions et actualise les références. |
Début
Notes
Project est un objet d'extensibilité principale pouvant contenir des informations sur des projets, quel que soit leur langage. La propriété Object de l'objet Project retourne un objet dont le type est déterminé par le langage du projet. Dans le cas de Visual Basic et Visual C#, cet objet est un objet VSProject2.
La propriété Object retourne un type de données Object. L'objet de données retourné par la propriété Object peut être ensuite converti explicitement en VSProject2. L'exemple ci-après montre comment cette conversion est effectuée à l'aide de la fonction CType. PrjKind est utilisé pour tester le type du projet avant la conversion.
Exemples
Pour exécuter cet exemple comme un complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation.
Pour déterminer si un projet Visual Basic ou Visual C# est un projet Smart Device, utilisez prjKindSDEVBProject et prjKindSDECSharpProject.
[Visual Basic]
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
ByVal connectMode As ext_ConnectMode, ByVal addInInst _
As Object, ByRef custom As Array) Implements _
IDTExtensibility2.OnConnection
applicationObject = CType(application, DTE2)
addInInstance = CType(addInInst, AddIn)
VSProject2Example(applicationObject)
End Sub
Sub VSProject2Example(ByVal dte As DTE2)
Dim aProject As Project
Dim aVSProject2 As VSProject2
aProject = applicationObject.Solution.Projects.Item(1)
MsgBox(aProject.Kind & aProject.Name)
If (aProject.Kind = PrjKind.prjKindVBProject) Or_
(aProject.Kind = PrjKind.prjKindCSharpProject) Then
aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
VSProject2)
MsgBox(aVSProject2.Project.FullName)
Else
MsgBox("The first project is not a Visual Basic or C# _
project.")
End If
End Sub
[C#]
// To use Messabox.Show, a reference to Windows.Forms is required.
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
applicationObject = (DTE2)application;
addInInstance = (AddIn)addInInst;
VSProject2Example((DTE2)applicationObject);
}
public void VSProject2Example(DTE2 dte)
{
Project aProject = null;
VSProject aVSProject2 = null;
aProject = applicationObject.Solution.Projects.Item( 1 );
MessageBox.Show( aProject.Kind + aProject.Name);
if ( ( aProject.Kind == PrjKind.prjKindVBProject ) |
( aProject.Kind == PrjKind.prjKindCSharpProject ) )
{
aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) );
MessageBox.Show( aVSProject2.Project.FullName);
}
else
{
MessageBox.Show( "The first project is not a Visual Basic or C# project.");
}
}