Solution2.IsOpen Property
Gets a value which indicates whether a solution is open.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
ReadOnly Property IsOpen As Boolean
bool IsOpen { get; }
property bool IsOpen {
bool get ();
}
abstract IsOpen : bool with get
function get IsOpen () : boolean
Property Value
Type: System.Boolean
true if a solution is open; otherwise, false.
Remarks
An open solution does not necessarily have a solution (.sln) file, because it might not have been saved yet.
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 displays the IsOpen state of 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)
IsOpenExample(_applicationObject)
End Sub
Sub IsOpenExample(ByVal dte As DTE2)
' This add-in displays the IsOpen status of the solution.
' 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)
MsgBox("Solution " & solnName & _
" has the following IsOpen state:" & _
vbCrLf & vbCrLf & soln.IsOpen.ToString())
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.
IsOpenExample((DTE2)_applicationObject);
}
public void IsOpenExample(DTE2 dte)
{
// This add-in determines if a solution is open.
// 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("Solution " + solnName + " IsOpen status is: "
+ soln.IsOpen.ToString());
}
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