Поделиться через


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);
    }
}

См. также

Ссылки

EnvDTE90 - пространство имен