Reference3.DTE Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the top-level extensibility object.
public:
property EnvDTE::DTE ^ DTE { EnvDTE::DTE ^ get(); };
public:
property EnvDTE::DTE ^ DTE { EnvDTE::DTE ^ get(); };
[System.Runtime.InteropServices.DispId(1)]
public EnvDTE.DTE DTE { [System.Runtime.InteropServices.DispId(1)] get; }
[<System.Runtime.InteropServices.DispId(1)>]
[<get: System.Runtime.InteropServices.DispId(1)>]
member this.DTE : EnvDTE.DTE
Public ReadOnly Property DTE As DTE
Property Value
A DTE object.
Implements
- Attributes
Examples
This example demonstrates how to reach the DTE
object from a Reference3 object. Open a Visual Basic or Visual C# project before running this example. To run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.
The default path for the reference added (adodb.dll) in: <installation root>\Program Files\Microsoft.NET\Primary Interop Assemblies. Replace <file path> in the example with this or another appropriate file path.
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)
ReachDTEObject(applicationObject)
End Sub
Public Sub ReachDTEObject(ByVal dte As DTE2)
' The first project is a Visual Basic or C# project.
Dim vsProject As VSProject2 = _
CType(applicationObject.Solution.Projects.Item(1).Object, _
VSProject2)
Dim aRef As Reference3
' Replace the <file path> with an actual file path.
aRef = CType(vsProject.References.Add_
("<file path>\adodb.dll"), Reference3)
MsgBox("Added a reference named: " & aRef.Name.ToString())
MsgBox("Name of the containing solution for " & aRef.Name & _
vbCr & "reached through the DTE object is: " & vbCr & _
aRef.DTE.Solution.FullName.ToString())
End Sub
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;
ReachDTEObject(((DTE2)applicationObject));
}
public void ReachDTEObject(DTE2 dte)
{
// The first project is a Visual Basic or C# project.
VSProject2 vsProject =
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));
Reference3 aRef = null;
// Replace <file path> with an actual file path.
aRef = (Reference3)vsProject.References.Add
((@"<file path>\adodb.dll"));
MessageBox.Show ("Added a reference named: "
+ aRef.Name.ToString());
MessageBox.Show("Name of the containing solution for "
+ aRef.Name + "\n" + "reached through the DTE object is: " + "\n"
+ aRef.DTE.Solution.FullName.ToString());
}
Remarks
In Visual Studio, the DTE object is the root of the automation model, which other object models often call "Application".