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


SolutionFolder - интерфейс

Папки решений представляют собой контейнеры проектов, которые позволяют разработчикам лучше организовывать большие приложения.

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

Синтаксис

'Декларация
<GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")> _
Public Interface SolutionFolder
[GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")]
public interface SolutionFolder
[GuidAttribute(L"F8F69788-267C-4408-8967-74F26108C438")]
public interface class SolutionFolder
[<GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")>]
type SolutionFolder =  interface end
public interface SolutionFolder

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

Свойства

  Имя Описание
Открытое свойство DTE Возвращает объект расширения верхнего уровня.
Открытое свойство Hidden Задает или возвращает скрытый атрибут решения.
Открытое свойство Parent Возвращает непосредственный родительский объект для объекта Find.

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

Методы

  Имя Описание
Открытый метод AddFromFile Добавляет существующий проект в папку решений.
Открытый метод AddFromTemplate Добавляет в папку решений новый проект на основе шаблона проекта.
Открытый метод AddSolutionFolder Добавляет папку решений в коллекцию ProjectItems.

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

Заметки

В Visual Studio 2005 решения кроме папок проектов могут содержать папки решений. Папки решений представляют собой контейнеры проектов, которые позволяют разработчикам лучше организовывать большие приложения.

Свойство решения Projects возвращает коллекцию объектов Project. У каждого отдельного проекта есть свойство Kind, которому можно задать значение vsProjectKindSolutionFolder. Для получения интерфейса SolutionFolder следует вызвать Project.Object и потом привести объект возвращенный объект к типу SolutionFolder.

Примеры

В этом примере создается новая папка решения, в которую добавляется проект из существующего файла. Перед запуском данного примера создайте папку "Projects" на главном диске компьютера (в данном примере на диске "C:"), после чего создайте в этой папке проект библиотеки классов Visual C# с именем "ClassLibrary1". Перед запуском этой надстройки необходимо также открыть проект в интегрированной среде разработки Visual Studio.

Дополнительные сведения о запуске этого примера в виде надстройки см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.

Imports EnvDTE
Imports EnvDTE80
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)
    solnFolderAddFromFileExample(_applicationObject)
End Sub
Sub solnFolderAddFromFileExample(ByVal dte As DTE2)
    ' Before running this example, create a "Projects" folder
    ' off your main drive (C: in this example), and create a C# 
    ' class library project, named ClassLibrary1 in that folder.
    Dim soln As Solution2 = CType(_applicationObject.Solution _
    , Solution2)
    Dim prj As Project
    Dim SF As SolutionFolder
    Try
        Dim prjPath As String = _
        "C:\Projects\ClassLibrary1\ClassLibrary1\ClassLibrary1.csproj"
        ' Open a project in the Visual Studio IDE before running 
        ' this add-in.
        ' Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder")
        SF = CType(prj.Object, SolutionFolder)
        ' Add a project to the new solution folder.
        SF.AddFromFile(prjPath)
        MsgBox("Added a new solution folder that contains a _
        C# project named ClassLibrary1.")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    solnFolderAddFromFileExample(_applicationObject);
}
public void solnFolderAddFromFileExample(DTE2 dte)
{
    // Before running this example, create a "Projects" folder
    // off your main drive (C: in this example), and create a C# 
    // class library project, named ClassLibrary1 in that folder.
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    SolutionFolder SF;
    try
    {
        String prjPath =
 "C:\\Projects\\ClassLibrary1\\ClassLibrary1\\ClassLibrary1.csproj";
        // Open a project in the Visual Studio IDE before running 
        // this add-in.
        // Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder");
        SF = (SolutionFolder)prj.Object;
        // Add a project to the new solution folder.
        SF.AddFromFile(prjPath);
    MessageBox.Show("Added a new solution folder that contains a 
C# project named ClassLibrary1.");
    }
    catch(SystemException ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

См. также

Ссылки

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