Método Solution2.GetProjectTemplate
Retorna um caminho para o modelo de projeto indicado.
Namespace: EnvDTE80
Assembly: EnvDTE80 (em EnvDTE80.dll)
Sintaxe
'Declaração
Function GetProjectTemplate ( _
TemplateName As String, _
Language As String _
) As String
string GetProjectTemplate(
string TemplateName,
string Language
)
String^ GetProjectTemplate(
String^ TemplateName,
String^ Language
)
abstract GetProjectTemplate :
TemplateName:string *
Language:string -> string
function GetProjectTemplate(
TemplateName : String,
Language : String
) : String
Parâmetros
- TemplateName
Tipo: System.String
O nome do modelo.
- Language
Tipo: System.String
O idioma usado para gravar o modelo.
Valor de retorno
Tipo: System.String
O nome completo do modelo do projeto.
Comentários
Os modelos de projeto são armazenados como arquivos zip. Este método solicita o projeto por nome e o idioma e retorna o caminho para o modelo.
Os parâmetros do GetProjectTemplate podem ser fornecidos em um número de maneiras diferentes, como mostrado abaixo:
Passar "csharp" como o Language parâmetro e o nome do arquivo zip, como o TemplateName.
GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp");
Passar "csharp" como o Language parâmetro e um caminho de arquivo parcial; " PocketPC2003\ClassLibrary.vstemplate", para especificar de forma exclusiva a TemplateName.
GetProjectTemplate("PocketPC2003\ClassLibrary.vstemplate", "CSharp");//partial file path
Passar a seqüência de caracteres "csharp" como o Language parâmetro e a seqüência de caracteres "biblioteca de classes do Pocket PC 2003" para o TemplateName parâmetro. A seqüência de caracteres "Biblioteca de classes do Pocket PC 2003" é derivado da hierarquia de pastas e é conhecido como a seqüência de interface (UI) do usuário. Outros exemplos de seqüências de caracteres de interface do usuário são o "Aplicativo de Console" e o "Aplicativo do Windows".
Observação As seqüências de caracteres de interface do usuário variam de acordo com o local. Usando o nome do arquivo zip é a maneira mais segura para passar o TemplateName parâmetro.
GetProjectTemplate("Pocket PC 2003 Class Library", "CSharp");
Passar a seqüência de caracteres "csharp" como o Language parâmetro e a seqüência de caracteres "biblioteca de classe PocketPC2003\Pocket PC 2003" para o TemplateName parâmetro. Isso inclui a seqüência de caracteres da interface do usuário e um caminho parcial para especificar o modelo de forma exclusiva.
GetProjectTemplate("PocketPC2003\Pocket PC 2003 Class Library", "CSharp");
Você também pode criar seus próprios modelos de projeto personalizado. Para especificar o diretório no qual você armazenará seus modelos, clique em Opções sobre o Ferramentas menu. No painel esquerdo do Opções caixa de diálogo, clique em projetos e soluções. Digite o caminho para seus modelos na Visual Studio user project templates location caixa. Como alternativa, você pode aceitar os locais padrão.
Modelos personalizados requerem nomes de arquivo exclusivo que não entrem em conflito com os nomes de arquivo definidos em:
- <unidade>: \Arquivos de Programas\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\idioma
Certifique-se de que você use nomes de arquivo longos (em oposição ao que esteja em formato 8.3). Para obter mais informações, consulte Criando modelos de projeto e de item.
Exemplos
Para obter informações sobre como executar esse código do suplemento, consulte Como: compilar e Executar a automação de exemplos de Código do modelo de objeto.
O exemplo a seguir mostra como criar uma solução e adicionar um projeto de aplicativo de console.
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 Visual Basic 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
//make sure to add this reference to your project references
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.
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);
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.