Solution3.GetProjectItemTemplate-Methode
Gibt einen Pfad zur angegebenen Projektelementvorlage zurück.
Namespace: EnvDTE90
Assembly: EnvDTE90 (in EnvDTE90.dll)
Syntax
'Declaration
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
Parameter
TemplateName
Typ: StringDer Name der Vorlage.
Language
Typ: StringDie Sprache, die zum Schreiben der Vorlage verwendet wurde.
Rückgabewert
Typ: String
Der vollständige Name der Projektelementvorlage.
Hinweise
Projektvorlagen können als ZIP-Dateien gespeichert werden. Bei dieser Methode werden Sie zur Eingabe des Projekts nach Name und Sprache aufgefordert, und es wird der Pfad zu der Vorlage zurückgegeben.
Die Parameter von GetProjectItemTemplate können auf unterschiedliche Art und Weise bereitgestellt werden, wie unten dargestellt:
Übergeben Sie die GUID für ein virtuelles Visual Basic-Projekt für intelligente Geräte als Language-Parameter und den Namen der ZIP-Datei als TemplateName.
GetProjectItemTemplate("NETCFv2-Class.zip", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
Übergeben Sie die GUID für ein virtuelles Visual Basic-Projekt für intelligente Geräte als Language-Parameter und die Zeichenfolge "Class" als TemplateName. Die Zeichenfolge "Class" ist von der Ordnerhierarchie abgeleitet und wird als Benutzeroberflächenzeichenfolge bezeichnet. Andere Benutzeroberflächenzeichenfolgen sind "HTML Page" und "Splash Screen". Die Benutzeroberflächenzeichenfolgen sind vom Gebietsschema abhängig. Der TemplateName-Parameter wird am sichersten übergeben, wenn der Name der ZIP-Datei verwendet wird.
GetProjectItemTemplate("Class", "{3114F5B0-E435-4bc5-A03D-168E20D9BF83}");
Übergeben Sie die Zeichenfolge "VisualBasic" als Language-Parameter und den Namen der ZIP-Datei als TemplateName-Parameter. Dies funktioniert, weil NETCFv2-Class.zip für intelligente Geräte eindeutig ist.
GetProjectItemTemplate("NETCFv2-Class.zip", "VisualBasic/SmartDevice-NETCFv2");
Sie können auch benutzerdefinierte Vorlagen für Projektelemente erstellen. Um den Speicherort für die Vorlagen anzugeben, klicken Sie im Menü Extras auf Optionen. Klicken Sie im linken Bereich des Dialogfelds Optionen auf Projekte und Projektmappen. Geben Sie die Pfade für die Vorlagen in den Feldern Speicherort von Visual Studio-Benutzerelementvorlagen ein. Sie können auch den Standardspeicherort übernehmen.
Für benutzerdefinierte Vorlagen sind eindeutige Dateinamen erforderlich, sodass keine Konflikte mit den unter den folgenden Speicherorten definierten Dateinamen auftreten:
<Laufwerk>:\Programme\Microsoft Visual Studio 9\Common7\IDE\ItemTemplates\Sprache.
Verwenden Sie lange Dateinamen (keine 8.3-Namen). Weitere Informationen finden Sie unter Creating Project and Item Templates.
Beispiele
Informationen zum Ausführen des Add-In-Codes finden Sie unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.
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 Solution3 = _
CType(_applicationObject.Solution, Solution3)
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.
Solution3 soln = (Solution3)_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);
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell