VSProject2, interface
Mise à jour : novembre 2007
Contient les informations spécifiques à un projet Visual Basic, Visual C# ou Visual J#. L'objet Object le retourne lorsque le projet est un Visual Basic, Visual C# ou Visual J#.
Espace de noms : VSLangProj80
Assembly : VSLangProj80 (dans VSLangProj80.dll)
Syntaxe
<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
Implements VSProject
Dim instance As VSProject2
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
public interface VSProject2 extends VSProject
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, Visual C# et Visual J#, 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.
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) Or_
(aProject.Kind = PrjKind2.prjKindVJSharpProject) Then
aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
VSProject2)
MsgBox(aVSProject2.Project.FullName)
Else
MsgBox("The first project is not a Visual Basic, C# _
or J# project.")
End If
End Sub
// 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 ) |
( aProject.Kind == PrjKind2.prjKindVJSharpProject ) )
{
aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) );
MessageBox.Show( aVSProject2.Project.FullName);
}
else
{
MessageBox.Show( "The first project is not a Visual Basic,
C# or J# project.");
}
}