Solution2.AddFromTemplate (Método) (String, String, String, Boolean)
Copia un archivo de proyecto existente y todos los elementos o subdirectorios que contenga a la ubicación especificada, y lo agrega a la solución.
Espacio de nombres: EnvDTE80
Ensamblado: EnvDTE80 (en EnvDTE80.dll)
Sintaxis
'Declaración
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
Parámetros
- FileName
Tipo: System.String
Obligatorio.Ruta de acceso completa y nombre de archivo con la extensión del archivo de proyecto de plantilla.
- Destination
Tipo: System.String
Obligatorio.Ruta de acceso completa al directorio en el que se va a copiar el contenido de FileName.
- ProjectName
Tipo: System.String
Obligatorio.Nombre del archivo de proyecto en el directorio de destino.Debe incluir la extensión.El nombre mostrado se deriva de ProjectName.
- Exclusive
Tipo: System.Boolean
Opcional.Indica si el proyecto se carga en la solución actual o en su propia solución. true si se cierra la solución actual y el proyecto se agrega a una solución nueva; false si el proyecto se agrega a la solución abierta.
Valor devuelto
Tipo: EnvDTE.Project
Un objeto Project.
Implementaciones
_Solution.AddFromTemplate(String, String, String, Boolean)
Comentarios
El nombre del proyecto mostrado en Explorador de soluciones es ProjectName sin la extensión de archivo. AddFromTemplate da un error si el nombre de archivo del proyecto nuevo ya existe en el destino.
Nota
Para proyectos de Visual Basic y Visual C#: El objeto Project devuelto tiene un valor de Nothing o nullreferencia null (Nothing en Visual Basic). Puede buscar el objeto Project creado recorriendo en iteración la colección DTE.Solution.Projects utilizando el parámetro ProjectName para identificar el proyecto recientemente creado.
Ejemplos
Para obtener información sobre cómo ejecutar este código de complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.
En el siguiente ejemplo se crea una solución y se le agrega un proyecto aplicación de consola.
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 project.
vbTemplatePath = soln.GetProjectTemplate _
("ConsoleApplication.zip", "VisualBasic")
' Create a new C# 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
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>";
"<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);
}
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.