Solution2.Globals Property
Gets the Globals object that contains any variable values that may be saved in the solution (.sln) file, the project file, or the user's profile data.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
ReadOnly Property Globals As Globals
Globals Globals { get; }
property Globals^ Globals {
Globals^ get ();
}
abstract Globals : Globals with get
function get Globals () : Globals
Property Value
Type: EnvDTE.Globals
A Globals object.
Remarks
Add-ins are available when the solution is loaded.
Globals are not necessarily associated with add-ins; they may also be associated with macros or any other automation client.
Examples
For information on how to run this add-in code, see How to: Compile and Run the Automation Object Model Code Examples.
The following example adds a global variable to an open solution and displays all the global variables in the solution.
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)
GlobalsExample(_applicationObject)
End Sub
Sub GlobalsExample(ByVal dte As DTE2)
' This add-in adds a global variable to a solution and
' displays it.
' Open a solution in
' Visual Studio before running this example.
Try
Dim soln As Solution2 = _
CType(_applicationObject.Solution, Solution2)
Dim solnName As String = _
System.IO.Path.GetFileNameWithoutExtension(soln.FullName)
Dim globals As String = ""
MsgBox("Adding global variable TempGlobal = ""TempValue""")
soln.Globals.VariableValue("TempGlobal") = "TempValue"
Dim names() As Object = _
CType(soln.Globals.VariableNames, Object())
Dim name As String
For Each name In names
globals &= " " & name & " = """ & _
soln.Globals.VariableValue(name).ToString() & """" & vbCrLf
Next
MsgBox("Solution " & solnName & _
" has the following global variables:" & _
vbCrLf & vbCrLf & globals)
Catch ex As System.Exception
MsgBox(ex.ToString)
End Try
End Sub
//you will need to add this reference to your project as well
using System.Windows.Forms;
public void OnConnection(object application,
Extensibility.ext_ConnectMode connectMode, object addInInst,
ref System.Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
// Pass the applicationObject member variable to the code example.
GlobalsExample((DTE2)_applicationObject);
}
public void GlobalsExample(DTE2 dte)
{
// This add-in adds a global variable to the solution and
// displays it.
// Open a solution in
// Visual Studio before running this example.
try
{
Solution2 soln = (Solution2)_applicationObject.Solution;
string solnName =
System.IO.Path.GetFileNameWithoutExtension(soln.FullName);
MessageBox.Show
("Adding global variable TempGlobal = \"TempValue\"");
soln.Globals["TempGlobal"] = "TempValue";
object[] names = (object[])soln.Globals.VariableNames;
string globals = "";
foreach (string name in names)
globals += " " + name + " = \""
+ soln.Globals[name].ToString() + "\"\n";
MessageBox.Show("Solution " + solnName
+ " has the following global variables:\n\n" + globals);
}
catch(SystemException ex)
{
MessageBox.Show("ERROR: " + ex);
}
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
Other Resources
How to: Compile and Run the Automation Object Model Code Examples