Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Represents all projects and solution-wide properties in the integrated development environment (IDE).
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")> _
Public Interface Solution2 _
Inherits _Solution
'Usage
Dim instance As Solution2
[GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface Solution2 : _Solution
[GuidAttribute(L"FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface class Solution2 : _Solution
public interface Solution2 extends _Solution
Remarks
Solution2 contains a collection of all projects in the current instance of the IDE and all solution-wide properties, such as build configurations. It contains a project element for every project, whether it is a wrapped project, a subproject, or a top-level project.
You can find the open solution by using the DTE.Solution property. To refer to virtual projects, such as MiscFiles or SolutionItems, use Solution.Item(EnvDTE.Constants.vsProjectKindMisc) or Solution.Item(EnvDTE.Constants.vsProjectKindSolutionItems).
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 code creates a new console application solution in the given path.
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)
SolutionExample(_applicationObject)
End Sub
Sub SolutionExample(ByVal dte As DTE2)
' This function creates a solution and adds a Visual Basic Console
' project to it.
Try
Dim soln As Solution2 = CType(DTE.Solution, Solution2)
Dim vbTemplatePath As String
' This path must exist on your computer.
' Replace <file path> below with an actual path.
Dim vbPrjPath As String = <file path>
MsgBox("starting")
' Get the project template path for a Visual Basic console application project.
vbTemplatePath = soln.GetProjectTemplate _
("ConsoleApplication.zip", "VisualBasic")
' Create a new Visual Baic Console project using the template obtained
' above.
soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
"New Visual Basic Console Project", False)
MsgBox("done")
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.
SolutionExample((DTE2)_applicationObject);
}
public void SolutionExample(DTE2 dte)
{
// This function creates a solution and adds a Visual C# Console
// project to it.
try{
Solution2 soln = (Solution2)_applicationObject.Solution;
String csTemplatePath;
// The file path must exist on your computer.
// Replace <file path> below with an actual path.
String csPrjPath = <file path>;
MessageBox.Show("Starting...");
csTemplatePath =
soln.GetProjectTemplate("ConsoleApplication.zip", "CSharp");
// Create a new C# Console project using the template obtained
// above.
soln.AddFromTemplate(csTemplatePath, csPrjPath,
"New CSharp Console Project", false);
MessageBox.Show("Done!");
}
catch(SystemException ex)
{
MessageBox.Show("ERROR: " + ex);
}
}