Практическое руководство. Создание элементов проекта программными средствами
Обновлен: Ноябрь 2007
Для создания элементов проекта программными средствами сначала необходимо вызвать GetProjectItemTemplate, а затем передать возвращенные пути шаблона в AddFromTemplate. Дополнительные сведения см. в разделе Шаблоны Visual Studio.
Метод GetProjectItemTemplate возвращает шаблон из соответствующего ZIP-файла для использования с методом AddFromTemplate. Шаблоны элементов проекта для всех языков находятся в папке <диск>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\язык
Кроме того, можно создавать собственные шаблоны элементов проекта. Чтобы выбрать папку для хранения шаблонов, в меню Сервис щелкните Параметры. В левой части окна Параметры щелкните Проекты и решения. Введите путь для своих шаблонов в поле Размещение пользовательских шаблонов элементов Visual Studio. Также можно использовать значения этих параметров по умолчанию.
Для пользовательских шаблонов необходимы уникальные имена файлов, не конфликтующие с именам файлов, определенными в папке: <диск>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\язык.
Следует использовать длинные имена файлов (а не имена в формате 8.3). Дополнительные сведения см. в разделе Создание шаблонов проектов и элементов.
Для удаления проектов из решения используйте Remove.
В следующем примере рассматривается универсальный метод для создания элементов проекта. В подразделах, перечисленных в разделе “См. также”, рассматриваются способы использования моделей, зависящих от языка.
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Эти процедуры были разработаны с обычными параметрами разработки. Чтобы изменить настройки, в меню Сервис выберите команду Импорт и экспортпараметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Добавление элементов в проекты
Чтобы добавить элементы в проект программными средствами
Запустите Visual Studio и создайте новый проект надстройки Visual Studio.
Добавьте в класс надстройки Connect следующий код.
Запустите проект надстройки и активируйте ее в Диспетчере надстроек.
Для этого в меню Сервис выберите пункт Диспетчер настройки и установите флажок рядом с надстройкой, чтобы активировать ее.
Пример
В следующем примере кода демонстрируется добавление элементов к существующему проекту Visual Basic программными средствами.
' Before running the following code, be sure that a Visual Basic
' project is open in Visual Studio.
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)
createProjectItem(_applicationObject)
End Sub
Sub createProjectItem(ByVal dte As DTE2)
' Adds a new Class to an existing Visual Basic project.
Dim soln As Solution2
Dim prj As Project
soln = CType(_applicationObject.Solution, Solution2)
Dim prjItem As ProjectItem
Dim itemPath As String
' Point to the first project (the Visual Basic project).
prj = soln.Projects.Item(1)
' Retrieve the path to the Class template.
itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj")
' Create a new project item based on the template, in this case,
' a Class.
prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass")
End Sub
// Before running the following code, be sure that a Visual Basic
// project is open in Visual Studio.
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.
createProjectItem(_applicationObject);
}
public void createProjectItem(DTE2 dte)
{
//Adds a new Class to an existing Visual Basic project.
Solution2 soln;
Project prj;
soln = (Solution2)_applicationObject.Solution;
ProjectItem prjItem;
String itemPath;
// Point to the first project (the Visual Basic project).
prj = soln.Projects.Item(1);
// Retrieve the path to the class template.
itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj");
//Create a new project item based on the template, in this
// case, a Class.
prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass");
}
Компиляция кода
Для компиляции кода создайте новый проект надстройки Visual Studio и замените код в классе Connect.cs или Connect.vb кодом из данного примера. Перед запуском надстройки откройте проект Visual Basic в интегрированной среде разработки Visual Studio. Сведения о запуске надстройки см. в разделе Практическое руководство. Управление надстройками с помощью диспетчера надстроек.
Отказоустойчивость
При использовании имен элементов проекта для Solution.Projects.Item необходимо использовать уникальное имя проекта. Уникальное имя проекта — это относительный путь к файлу проекта от каталога, содержащего файл решения (SLN).
В качестве примера рассмотрим следующую структуру проекта/решения.
SomeSolution.sln
WinApp1
WinApp1.VBProj
Уникальным именем для проекта будет "WinApp1/WinApp1.VBProj", а вызовом метода элемента — Solution.Projects.Item("WinApp1/WinApp1.VBProj").
См. также
Задачи
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации
Практическое руководство. Создание проектов программными средствами
Основные понятия
Управление проектами Visual Basic и Visual C#
Управление проектами Visual ++
Знакомство с шаблонами Visual Studio