Solution3.AddFromTemplate - метод
Копирует существующий файл проекта и все элементы и вложенные каталоги, которые в нем есть, в указанное место и добавляет его в решение.
Пространство имен: EnvDTE90
Сборка: EnvDTE90 (в EnvDTE90.dll)
Синтаксис
'Декларация
Function AddFromTemplate ( _
FileName As String, _
Destination As String, _
ProjectName As String, _
Exclusive As Boolean _
) As Project
Project AddFromTemplate(
string FileName,
string Destination,
string ProjectName,
bool Exclusive
)
Project^ AddFromTemplate(
[InAttribute] String^ FileName,
[InAttribute] String^ Destination,
[InAttribute] String^ ProjectName,
[InAttribute] bool Exclusive
)
abstract AddFromTemplate :
FileName:string *
Destination:string *
ProjectName:string *
Exclusive:bool -> Project
function AddFromTemplate(
FileName : String,
Destination : String,
ProjectName : String,
Exclusive : boolean
) : Project
Параметры
FileName
Тип: StringОбязательное. Полный путь и имя файла проекта шаблона с расширением.
Destination
Тип: StringОбязательное. Полный путь к папке, в которую следует скопировать содержимое параметра FileName.
ProjectName
Тип: StringОбязательное. Имя файла проекта в конечной папке. Оно должно включать в себя расширение. Отображаемое имя получено из ProjectName.
Exclusive
Тип: BooleanНеобязательный параметр. Указывает, загружается ли проект в текущее решение или в свое собственное. Значение true, если текущее решение закрывается и проект добавляется в новое решение; значение false, если проект добавляется в существующее открытое решение.
Возвращаемое значение
Тип: Project
Объект Project.
Заметки
Имя проекта, отображаемого в обозревателе решений, – ProjectName без расширения файла. При AddFromTemplate вызове происходит сбой, если имя файла нового проекта в папке назначения уже существует.
Примечание
Для проектов Visual Basic и Visual C# возвращаемый объект Project имеет значение Nothing или nullссылка NULL (Nothing в Visual Basic).Найти созданный объект Project можно итерацией элементов коллекции DTE.Solution.Projects, используя параметр ProjectName для определения нового созданного проекта.
Примеры
Сведения о запуске этого кода надстройки см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
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 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 = 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)
MsgBox("done")
Catch ex As System.Exception
MsgBox(ex.ToString)
End Try
End Sub
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{
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);
}
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации