Metodo Solution2.GetProjectItemTemplate
Restituisce un percorso del modello dell'elemento del progetto indicato.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
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
Parametri
- TemplateName
Tipo: System.String
Nome del modello.
- Language
Tipo: System.String
Linguaggio utilizzato per scrivere il modello.
Valore restituito
Tipo: System.String
Nome completo del modello dell'elemento del progetto.
Note
I modelli di progetto vengono memorizzati come file ZIP. Il metodo richiede che venga fornito il progetto indicandone nome e linguaggio e restituisce il percorso al modello.
I parametri di GetProjectItemTemplate possono essere forniti in vari modi come descritto di seguito:
Passare il GUID relativo a un progetto virtuale Visual Basic per Smart Device come parametro Language e il nome del file ZIP come TemplateName.
GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
Passare il GUID relativo a un progetto virtuale Visual Basic per Smart Device come parametro Language e la stringa "Class" come TemplateName. La stringa "Class" è derivata dalla gerarchia di cartelle ed è definita come la stringa dell'interfaccia utente. Altre stringhe di interfaccia utente sono "Pagina HTML" e "Schermata iniziale". Le stringhe di interfaccia utente sono dipendenti dalle impostazioni locali. L'utilizzo del nome del file ZIP è il modo più sicuro per passare il parametro TemplateName.
GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
Passare la stringa "VisualBasic" come parametro Language e il nome del file ZIP per il parametro TemplateName. Questa operazione è possibile perché il file NETCFv2-Class.zip è univoco per Smart Device.
GetProjectItemTemplate("NETCFv2-Class.zip", "VisualBasic/SmartDevice-NETCFv2");
È possibile creare anche modelli personalizzati per gli elementi del progetto. Per specificare la directory in cui archiviare i modelli, scegliere Opzioni dal menu Strumenti. Nel riquadro sinistro della finestra di dialogo Opzioni scegliere Progetti e soluzioni. Digitare i percorsi relativi ai modelli nelle caselle Percorso dei modelli di elemento utente di Visual Studio. In alternativa, è possibile accettare il percorso predefinito.
I modelli personalizzati necessitano di nomi file univoci che non siano in conflitto con i nomi file definiti in:
<unità>:\Programmi\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\Linguaggio.
Assicurarsi di utilizzare nomi file lunghi, anziché nel formato 8.3. Per ulteriori informazioni, vedere Creazione di modelli di progetti e di elementi.
Esempi
Per informazioni sulla modalità di esecuzione di questo codice di componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.
Nell'esempio riportato di seguito viene aggiunta una pagina HTML a una soluzione.
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 Solution2 = _
CType(_applicationObject.Solution, Solution2)
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.
Solution2 soln = (Solution2)_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);
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.