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


Solution2 - интерфейс

Представляет все проекты и свойства решения в интегрированной среде разработки (IDE).

Пространство имен:  EnvDTE80
Сборка:  EnvDTE80 (в EnvDTE80.dll)

Синтаксис

'Декларация
<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")> _
Public Interface Solution2 _
    Inherits _Solution
[GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface Solution2 : _Solution
[GuidAttribute(L"FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface class Solution2 : _Solution
[<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")>]
type Solution2 =  
    interface
        interface _Solution
    end
public interface Solution2 extends _Solution

Тип Solution2 предоставляет следующие члены.

Свойства

  Имя Описание
Открытое свойство AddIns (Унаследовано от _Solution.)
Открытое свойство AddIns Возвращает коллекцию AddIns, которая содержит все доступные в настоящий момент надстройки, связанные с решением.
Открытое свойство Count (Унаследовано от _Solution.)
Открытое свойство Count Возвращает значение, указывающее число проектов в решении.
Открытое свойство DTE (Унаследовано от _Solution.)
Открытое свойство DTE Возвращает объект расширения верхнего уровня.
Открытое свойство Extender[String] (Унаследовано от _Solution.)
Открытое свойство Extender[String] Получает запрашиваемый объект-расширитель, если он доступен для данного объекта.
Открытое свойство ExtenderCATID (Унаследовано от _Solution.)
Открытое свойство ExtenderCATID Получает идентификатор категории расширителя (CATID) для объекта.
Открытое свойство ExtenderNames (Унаследовано от _Solution.)
Открытое свойство ExtenderNames Получает список доступных расширителей для объекта.
Открытое свойство FileName (Унаследовано от _Solution.)
Открытое свойство FileName Инфраструктура. Только для внутреннего использования в корпорации Майкрософт.
Открытое свойство FullName (Унаследовано от _Solution.)
Открытое свойство FullName Возвращает полный путь и имя файла объекта.
Открытое свойство Globals (Унаследовано от _Solution.)
Открытое свойство Globals Возвращает объект Globals, содержащий любые значения переменных, которые можно сохранить в файле решения (SLN-файл), в файле проекта или в данных профиля пользователя.
Открытое свойство IsDirty (Унаследовано от _Solution.)
Открытое свойство IsDirty Инфраструктура. Только для внутреннего использования в корпорации Майкрософт.
Открытое свойство IsOpen (Унаследовано от _Solution.)
Открытое свойство IsOpen Возвращает значение, указывающее, открыто ли решение.
Открытое свойство Parent (Унаследовано от _Solution.)
Открытое свойство Parent Получает непосредственный родительский объект для объекта Solution2.
Открытое свойство Projects (Унаследовано от _Solution.)
Открытое свойство Projects Возвращает коллекцию проектов, которые находятся в настоящий момент в решении.
Открытое свойство Properties (Унаследовано от _Solution.)
Открытое свойство Properties Получает коллекцию всех свойств, которые относятся к объекту Solution2.
Открытое свойство Saved (Унаследовано от _Solution.)
Открытое свойство Saved Возвращает или задает значение, указывающее, изменялось ли решение с момента последнего сохранения или открытия.
Открытое свойство SolutionBuild (Унаследовано от _Solution.)
Открытое свойство SolutionBuild Возвращает объект SolutionBuild для решения, который предоставляет собой корневой объект модели автоматизации построения на уровне решения.
Открытое свойство TemplatePath[String] (Унаследовано от _Solution.)
Открытое свойство TemplatePath[String] Заменяется GetProjectTemplate.

В начало страницы

Методы

  Имя Описание
Открытый метод AddFromFile(String, Boolean) (Унаследовано от _Solution.)
Открытый метод AddFromFile(String, Boolean) Добавляет проект в решение, основанное на файла проекта, который уже хранится в системе.
Открытый метод AddFromTemplate(String, String, String, Boolean) (Унаследовано от _Solution.)
Открытый метод AddFromTemplate(String, String, String, Boolean) Копирует существующий файл проекта и все элементы и вложенные каталоги, которые в нем есть, в указанное место и добавляет его в решение.
Открытый метод AddSolutionFolder Добавляет папку решений в коллекцию ProjectItems.
Открытый метод Close(Boolean) (Унаследовано от _Solution.)
Открытый метод Close(Boolean) Закрывает текущее решение.
Открытый метод Create(String, String) (Унаследовано от _Solution.)
Открытый метод Create(String, String) Создает пустое решение в указанном каталоге с указанным именем.
Открытый метод FindProjectItem(String) (Унаследовано от _Solution.)
Открытый метод FindProjectItem(String) Находит элемент в проекте.
Открытый метод GetEnumerator() (Унаследовано от _Solution.)
Открытый метод GetEnumerator() Возвращает перечисление элементов коллекции.
Открытый метод GetProjectItemTemplate Возвращает путь к указанному шаблону элемента проекта.
Открытый метод GetProjectTemplate Возвращает путь к указанному шаблону проекта.
Открытый метод Item(Object) (Унаследовано от _Solution.)
Открытый метод Item(Object) Возвращает индексированный элемент коллекции Projects.
Открытый метод Open(String) (Унаследовано от _Solution.)
Открытый метод Open(String) Открывает указанное решение.
Открытый метод ProjectItemsTemplatePath(String) (Унаследовано от _Solution.)
Открытый метод ProjectItemsTemplatePath(String) Заменяется GetProjectItemTemplate.
Открытый метод Remove(Project) (Унаследовано от _Solution.)
Открытый метод Remove(Project) Удаляет указанный проект из решения.
Открытый метод SaveAs(String) (Унаследовано от _Solution.)
Открытый метод SaveAs(String) Сохраняет решение.

В начало страницы

Заметки

Этот интерфейс содержит коллекцию всех проектов текущего экземпляра IDE и всех свойств решения, таких как конфигурации построения.Содержит элемент проекта для каждого проекта, независимо от того, упакованный это проект, подпроект или проект верхнего уровня.

Открытое решение можно найти с помощью свойства 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 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);
    }
}

См. также

Ссылки

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