Solution3 - интерфейс
Представляет все проекты и свойства решения в интегрированной среде разработки (IDE).Переопределяет классы Solution и Solution2.
Пространство имен: EnvDTE90
Сборка: EnvDTE90 (в EnvDTE90.dll)
Синтаксис
'Декларация
<GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")> _
Public Interface Solution3 _
Inherits Solution2
[GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")]
public interface Solution3 : Solution2
[GuidAttribute(L"DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")]
public interface class Solution3 : Solution2
[<GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")>]
type Solution3 =
interface
interface Solution2
end
public interface Solution3 extends Solution2
Тип Solution3 предоставляет следующие члены.
Свойства
Имя | Описание | |
---|---|---|
AddIns | (Унаследовано от Solution2.) | |
AddIns | Возвращает коллекцию AddIns, которая содержит все доступные в настоящий момент надстройки, связанные с решением. | |
Count | (Унаследовано от Solution2.) | |
Count | Возвращает значение, указывающее число проектов в решении. | |
DTE | (Унаследовано от Solution2.) | |
DTE | Возвращает объект расширения верхнего уровня. | |
Extender[String] | (Унаследовано от Solution2.) | |
Extender[String] | Получает запрашиваемый объект-расширитель, если он доступен для данного объекта. | |
ExtenderCATID | (Унаследовано от Solution2.) | |
ExtenderCATID | Получает идентификатор категории расширителя (CATID) для объекта. | |
ExtenderNames | (Унаследовано от Solution2.) | |
ExtenderNames | Получает список доступных расширителей для объекта. | |
FileName | (Унаследовано от Solution2.) | |
FileName | Инфраструктура. Получает имя файла. | |
FullName | (Унаследовано от Solution2.) | |
FullName | Возвращает полный путь и имя файла объекта. | |
Globals | (Унаследовано от Solution2.) | |
Globals | Возвращает объект Globals, содержащий любые значения переменных, которые можно сохранить в файле решения (SLN-файл), в файле проекта или в данных профиля пользователя. | |
IsDirty | (Унаследовано от Solution2.) | |
IsDirty | Инфраструктура. Определяет, находится ли решение в "грязном" состоянии (изменено, но не сохранено). | |
IsOpen | (Унаследовано от Solution2.) | |
IsOpen | Получает значение, указывающее, открыто ли решение. | |
Parent | (Унаследовано от Solution2.) | |
Parent | Получает непосредственный родительский объект для объекта Solution2. | |
Projects | (Унаследовано от Solution2.) | |
Projects | Возвращает коллекцию проектов, которые находятся в настоящий момент в решении. | |
Properties | (Унаследовано от Solution2.) | |
Properties | Возвращает коллекцию всех свойств, которые относятся к объекту Solution2. | |
Saved | (Унаследовано от Solution2.) | |
Saved | Возвращает или задает значение, указывающее, изменялось ли решение с момента последнего сохранения или открытия. | |
SolutionBuild | (Унаследовано от Solution2.) | |
SolutionBuild | Возвращает объект SolutionBuild для решения, который предоставляет собой корневой объект модели автоматизации построения на уровне решения. | |
TemplatePath[String] | (Унаследовано от Solution2.) | |
TemplatePath[String] | Заменяется GetProjectTemplate. |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
AddFromFile(String, Boolean) | (Унаследовано от Solution2.) | |
AddFromFile(String, Boolean) | Добавляет проект в решение, основанное на файла проекта, который уже хранится в системе. | |
AddFromTemplate(String, String, String, Boolean) | (Унаследовано от Solution2.) | |
AddFromTemplate(String, String, String, Boolean) | Копирует существующий файл проекта и все элементы и вложенные каталоги, которые в нем есть, в указанное место и добавляет его в решение. | |
AddSolutionFolder(String) | (Унаследовано от Solution2.) | |
AddSolutionFolder(String) | Добавляет папку решений в коллекцию ProjectItems. | |
Close(Boolean) | (Унаследовано от Solution2.) | |
Close(Boolean) | Закрывает текущее решение. | |
Create(String, String) | (Унаследовано от Solution2.) | |
Create(String, String) | Создает пустое решение в указанном каталоге с указанным именем. | |
FindProjectItem(String) | (Унаследовано от Solution2.) | |
FindProjectItem(String) | Находит элемент в проекте. | |
GetEnumerator() | (Унаследовано от Solution2.) | |
GetEnumerator() | Возвращает перечисление элементов коллекции. | |
GetProjectItemTemplate(String, String) | (Унаследовано от Solution2.) | |
GetProjectItemTemplate(String, String) | Возвращает путь к указанному шаблону элемента проекта. | |
GetProjectItemTemplates | Возвращает коллекцию шаблонов элементов проекта для указанного проекта. | |
GetProjectTemplate(String, String) | (Унаследовано от Solution2.) | |
GetProjectTemplate(String, String) | Возвращает путь к указанному шаблону проекта. | |
Item(Object) | (Унаследовано от Solution2.) | |
Item(Object) | Возвращает индексированный элемент коллекции Projects. | |
Open(String) | (Унаследовано от Solution2.) | |
Open(String) | Открывает указанное решение. | |
ProjectItemsTemplatePath(String) | (Унаследовано от Solution2.) | |
ProjectItemsTemplatePath(String) | Заменяется GetProjectItemTemplate. | |
Remove(Project) | (Унаследовано от Solution2.) | |
Remove(Project) | Удаляет указанный проект из решения. | |
SaveAs(String) | (Унаследовано от Solution2.) | |
SaveAs(String) | Сохраняет решение. |
В начало страницы
Заметки
Объект Solution3 представляет собой коллекцию всех проектов в текущем экземпляре IDE и всех свойств масштаба решения, таких как конфигурации построения.Объект Solution3 содержит элемент проекта для каждого проекта, независимо от того, какой это проект: заключенный в оболочку, подпроект или проект верхнего уровня.
Для ссылки на этот объект используется DTE.Solution.Для ссылки на виртуальные проекты, например MiscFiles или SolutionItems, используется Solution3.Item(EnvDTE.Constants.vsProjectKindMisc) или Solution3.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)
Solution3Example(_applicationObject)
End Sub
Sub Solution3Example(ByVal dte As DTE2)
' This function creates a solution and adds a Visual C# Console
' project to it.
Try
Dim soln As Solution3 = CType(DTE.Solution, Solution3)
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 = CType(soln.GetProjectTemplate _
("ConsoleApplication.zip", "CSharp"), string)
' 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.
Solution3Example((DTE2)_applicationObject);
}
public void Solution3Example(DTE2 dte)
{
// This function creates a solution and adds a Visual C# Console
// project to it.
try{
Solution3 soln = (Solution3)_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);
}
}