Solution2 - интерфейс
Обновлен: Ноябрь 2007
Представляет все проекты и свойства решений в интегрированной среде разработки (IDE).
Пространство имен: EnvDTE80
Сборка: EnvDTE80 (в EnvDTE80.dll)
Синтаксис
'Декларация
<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")> _
Public Interface Solution2 _
Implements _Solution
'Применение
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
Заметки
Объект Solution представляет собой коллекцию всех проектов в текущем экземпляре IDE и всех свойств решения, таких как конфигурации построения. Объект Solution содержит элемент проекта для каждого проекта, независимо от того, упакованный это проект, подпроект или проект верхнего уровня.
Для ссылки на этот объект используется DTE.Solution. Для ссылки на виртуальные проекты, например MiscFiles или SolutionItems, используется Solution.Item(EnvDTE.Constants.vsProjectKindMisc) или Solution.Item(EnvDTE.Constants.vsProjectKindSolutionItems).
Примеры
Сведения о запуске этого кода надстройки см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
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 C# Console
' project to it.
Try
Dim soln As Solution2 = CType(DTE.Solution, Solution2)
Dim csTemplatePath As String
' This path must exist on your computer.
' Replace <file path> below with an actual path.
Dim csPrjPath As String = "<file path>"
MsgBox("starting")
' Get the project template path for a C# console project.
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)
MsgBox("done")
Catch ex As System.Exception
MsgBox(ex.ToString)
End Try
End Sub
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>";
"<file path>MessageBox.Show("Starting...");
"<file path>"<file path>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);
}
}