Método Solution4.GetProjectItemTemplate
Retorna um caminho para o indicado modelo de item.
Namespace: EnvDTE100
Assembly: EnvDTE100 (em EnvDTE100.dll)
Sintaxe
'Declaração
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
Parâmetros
TemplateName
Tipo: StringO nome do modelo.
Language
Tipo: StringO idioma usado para gravar o modelo.
Valor de retorno
Tipo: String
O nome completo do modelo de item.
Comentários
Modelos de projeto são armazenados como arquivos zip. Este método solicita o projeto por nome e idioma e retorna o caminho para o modelo.
Os parâmetros de GetProjectItemTemplate podem ser fornecidos em um número de diferentes maneiras como mostrado abaixo:
Passe o GUID de um projeto virtual Visual Basic de dispositivo inteligente como o parâmetro Language e o nome do arquivo zip como o TemplateName.
GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
Passe o GUID de um projeto virtual Visual Basic de dispositivo inteligente como o parâmetro Language e a cadeia de caracteres "Classe" como o TemplateName. A cadeia de caracteres "Classe" deriva da hierarquia de pastas e conhecida como a cadeia de caracteres da interface do usuário. Outras cadeias de caracteres de interface do usuário são "Página HTML" e "Tela Inicial". As cadeias de caracteres de interface do usuário dependem da localidade. O uso do nome do arquivo zip é a maneira mais segura de passar o parâmetro TemplateName.
GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
Passe a cadeia de caracteres "VisualBasic" como o parâmetro Language e o nome do arquivo zip para o parâmetro TemplateName. Isso funciona porque NETCFv2-Class.zip é exclusivo de dispositivos inteligentes.
GetProjectItemTemplate("NETCFv2-Class.zip", "VisualBasic/SmartDevice-NETCFv2");
Também é possível criar modelos personalizados para itens de projeto. Para especificar o diretório no qual você armazenará os modelos, clique em Opções no menu Ferramentas. No painel esquerdo da caixa de diálogo Opções, clique em Projetos e Soluções. Digite os caminhos dos modelos nas caixas Local dos modelos de item de usuário do Visual Studio. Como alternativa, é possível aceitar o local padrão.
Modelos personalizados exigem nomes de arquivo exclusivos não conflitantes com os nomes de arquivo definidos em:
<unidade>:\Program Files\Microsoft Visual Studio 9\Common7\IDE\ItemTemplates\Linguagem.
Verifique se você está usando nomes de arquivo longos (em vez de 8dot3). Para obter mais informações, consulte Creating Project and Item Templates.
Exemplos
Para obter informações sobre como executar este código do suplemento, consulte Como compilar e executar os exemplos de código do modelo de objeto Automation.
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);
}
}
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ável.
Consulte também
Referência
Outros recursos
Como compilar e executar os exemplos de código do modelo de objeto Automation