Project.Globals Property
Gets the Globals object containing add-in values that may be saved in the solution (.sln) file, the project file, or in the user's profile data.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.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
The add-ins are available when the solution, project file, and so on are loaded.
Solution globals are not necessarily associated with add-ins. They can also be associated with macros or other automation clients.
Note
VariableValue name strings cannot contain space, colon (:), or period(.) characters. If a name has any of these characters, you get the error, "Value does not fall within expected range."
Examples
Public Sub CodeExample(ByVal dte As DTE2)
Try
' Open a project before running this sample.
Dim prj As Project = dte.Solution.Projects.Item(1)
Dim prjs As Projects
Dim msg2 As String = "Global Variables:"
Dim msg As String
msg = "FileName: " + prj.FileName
msg += vbCrLf + "FullName: " + prj.FullName
msg += vbCrLf + "Project-level access to " + prj.CodeModel.CodeElements.Count.ToString() + " CodeElements through the CodeModel"
prjs = prj.Collection
msg += vbCrLf + "There are " + prjs.Count.ToString() + " projects in the same collection."
msg += vbCrLf + "Application containing this project: " + prj.DTE.Name
If prj.Saved Then
msg += vbCrLf + "This project has not been modified since the last save."
Else
msg += vbCrLf + "This project has been modified since the last save."
End If
msg += vbCrLf + "Properties:"
Dim prop As [Property]
For Each prop In prj.Properties
msg += vbCrLf + " " + prop.Name
Next prop
Dim s As String
For Each s In CType(prj.Globals.VariableNames, Array)
msg2 += vbCrLf + " " + s
Next s
MessageBox.Show(msg, "Project Name: " + prj.Name)
MessageBox.Show(msg2)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
public void CodeExample(DTE2 dte)
{
try
{ // Open a project before running this sample.
Project prj = dte.Solution.Projects.Item(1);
Projects prjs;
string msg, msg2 = "Global Variables:";
msg = "FileName: " + prj.FileName;
msg += "\nFullName: " + prj.FullName;
msg += "\nProject-level access to " + prj.CodeModel.CodeElements.Count.ToString() +
" CodeElements through the CodeModel";
prjs = prj.Collection;
msg += "\nThere are " + prjs.Count.ToString() + " projects in the same collection.";
msg += "\nApplication containing this project: " + prj.DTE.Name;
if (prj.Saved)
msg += "\nThis project hasn't been modified since the last save.";
else
msg += "\nThis project has been modified since the last save.";
msg += "\nProperties: ";
foreach (Property prop in prj.Properties)
{
msg += "\n " + prop.Name;
}
foreach (String s in (Array)prj.Globals.VariableNames)
{
msg2 += "\n " + s;
}
MessageBox.Show(msg, "Project Name: " + prj.Name);
MessageBox.Show(msg2);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
.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