Solution4.GetProjectItemTemplate - метод
Возвращает путь к указанному шаблону элемента проекта.
Пространство имен: EnvDTE100
Сборка: EnvDTE100 (в EnvDTE100.dll)
Синтаксис
'Декларация
Function GetProjectItemTemplate ( _
TemplateName As String, _
Language As String _
) As String
string GetProjectItemTemplate(
string TemplateName,
string Language
)
String^ GetProjectItemTemplate(
String^ TemplateName,
String^ Language
)
abstract GetProjectItemTemplate :
TemplateName:string *
Language:string -> string
function GetProjectItemTemplate(
TemplateName : String,
Language : String
) : String
Параметры
TemplateName
Тип: StringИмя шаблона.
Language
Тип: StringЯзык, использовавшийся для создания шаблона.
Возвращаемое значение
Тип: String
Полный путь к шаблону элемента проекта.
Заметки
Шаблоны проектов хранятся в виде ZIP-файлов. Этот метод запрашивает проект по имени и языку и возвращает путь к шаблону.
Параметры GetProjectItemTemplate могут предоставляться несколькими различными способами, как показано ниже.
В качестве параметра Language передается идентификатор GUID для виртуального проекта интеллектуального устройства Visual Basic, а в качестве параметра TemplateName — имя ZIP-файла.
GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
В качестве параметра Language передается идентификатор GUID для виртуального проекта интеллектуального устройства Visual Basic, а в качестве параметра TemplateName — строка "Class". Строка "Class" ("Класс") получается из иерархии папок и на нее ссылаются как на строку интерфейса пользователя. Другие строки интерфейса пользователя: "HTML Page" ("Страница HTML") и "Splash Screen" ("Экран-заставка"). Строки пользовательского интерфейса зависят от языкового стандарта. Использование имени ZIP-файла — это самый безопасный способ передачи параметра TemplateName.
GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
Строка "VisualBasic" передается в параметре Language, а имя ZIP-файла в параметре TemplateName. Это работает, так как файл NETCFv2-Class.zip уникален для Smart Devices.
GetProjectItemTemplate("NETCFv2-Class.zip", "VisualBasic/SmartDevice-NETCFv2");
Кроме того, можно создавать собственные шаблоны для элементов проектов. Чтобы выбрать папку для хранения шаблонов, в меню Сервис щелкните Параметры. В левой части окна Параметры щелкните Проекты и решения. Введите пути для своих шаблонов в поля Размещение пользовательских шаблонов элементов Visual Studio. Также можно использовать местоположение по умолчанию.
Имена файлов пользовательских шаблонов должны быть уникальными и не должны конфликтовать с именами файлов, определенными в:
<диск>:\Program Files\Microsoft Visual Studio 9\Common7\IDE\ItemTemplates\язык.
Убедитесь в том, что используются длинные имена файлов (а не соглашение 8.3). Для получения дополнительной информации см. Creating Project and Item Templates.
Примеры
Сведения о запуске этого кода надстройки см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
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)
SaveAsExample(_applicationObject)
End Sub
Sub SaveAsExample(ByVal dte As DTE2)
' This add-in adds an HTML page to a solution.
' Open a Visual Basic solution in Visual Studio
' before running this example.
Dim soln As Solution4 = _
CType(_applicationObject.Solution, Solution4)
Dim prj As Project
Dim prjItem As ProjectItem
Dim itemPath As String
Try
prj = soln.Projects.Item(1)
itemPath = soln.GetProjectItemTemplate("HTMLPage.zip", _
"VisualBasic")
' Create a new project item based on the template.
' (In this case, an HTML page.)
prjItem = _
prj.ProjectItems.AddFromTemplate(itemPath, "MyNewHtml")
Catch ex As SystemException
MsgBox("ERROR: " & 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.
SolnGetProjetItemExample((DTE2)_applicationObject);
}
public void SolnGetProjetItemExample(DTE2 dte)
{
// This add-in adds an item to a Visual Basic solution.
// Open a Visual Basic solution in Visual Studio
// before running this example.
Solution4 soln = (Solution4)_applicationObject.Solution;
Project prj;
ProjectItem prjItem;
string itemPath;
try
{
prj = soln.Projects.Item(1);
itemPath =
soln.GetProjectItemTemplate("HTMLPage.zip", "VisualBasic");
// Create a new project item based on the template.
// (In this case, an HTML page.)
prjItem =
prj.ProjectItems.AddFromTemplate(itemPath, "MyNewHtml");
}
catch (SystemException ex)
{
MessageBox.Show("ERROR: " + ex);
}
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации