Hinzufügen von Assistenten zu den Dialogfeldern Element hinzufügen und Neues Projekt mithilfe von VSDIR-Dateien
Eine VSDIR-Datei ist eine Textdatei mit der Erweiterung .vsdir, die Sie erstellen, um Informationen zum Anzeigen der betreffenden Elemente in den Dialogfeldern Element hinzufügen und Neues Projekt bereitzustellen.Hierzu zählen die Namen der Elemente, die Reihenfolge, in der sie angezeigt werden, und das zugehörige Symbol.Sie können jedes dieser Elemente ändern.VSDIR-Dateien werden verwendet, um den Dialogfeldern Element hinzufügen und Neues Projekt neue Vorlagen oder Assistenten hinzuzufügen.
Es gibt keine standardmäßige VSDIR-Datei.Wenn eine solche Datei vorhanden ist, wird sie von Visual Studio gelesen und deren Inhalt den Dialogfeldern hinzugefügt.Ist keine vorhanden, werden die Standardvorlagen und -assistenten angezeigt.In einem Verzeichnis können mehrere VSDIR-Dateien enthalten sein, deren Inhalt jeweils den Dialogfeldern hinzugefügt wird.Üblicherweise enthält eine einzelne VSDIR-Datei Datensätze für mehrere Assistenten, Ordner und Vorlagen.Die Datensätze in der Datei werden durch ein Zeilenumbruchzeichen voneinander getrennt, währenddie Felder in den Datensätzen anhand von senkrechten Strichen (|) voneinander getrennt werden.Ein optionales Feld, für das es keine sinnvollen Daten gibt, enthält als Platzhalter null (0) oder ein Leerzeichen.In Felder eingegebene Zeichenfolgen müssen nicht in Anführungszeichen gesetzt werden.
Komponenten von VSDIR-Dateien
Im Folgenden finden Sie Beispiele für VSDIR-Dateien.In der ersten wird auf einen einzelnen Assistenten verwiesen, der im Thema Exemplarische Vorgehensweise: Erstellen eines Assistenten erstellt wurde:
MyNewWizard.vsz| |A New Wizard|1|My New Wizard|C:\Addins\MyNewWizard\MyNewWizard\bin\Debug| | |MyNewWizard99
In der nächsten VSDIR-Beispieldatei wird auf mehrere VSZ-Dateien für Assistenten verwiesen. Zudem enthält die Datei weitere relevante Informationen zu den einzelnen Assistenten (wie weiter unten in diesem Thema beschrieben).Der Unterschied zur vorherigen VSDIR-Datei besteht darin, dass auf Zeichenfolgen als Ressourcen-IDs und nicht als Zeichenfolgenliterale verwiesen wird.Zudem werden GUIDs verwendet, um auf DLLs zu verweisen.
..\..\Projects\csharp building blocks\BusinessFacade.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5015|10|#5022|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|127|0|Project
..\..\Projects\csharp building blocks\BusinessRules.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5016|20|#5023|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|128|0|Project
..\..\Projects\csharp building blocks\DataAccess.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5017|30|#5024|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|129|0|Project
..\..\Projects\csharp building blocks\SystemFrameworks.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5018|40|#5025|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|130|0|Project
..\..\Projects\csharp building blocks\WebService.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5019|50|#5026|{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}|4547|1|WebService|Web
..\..\Projects\csharp building blocks\WebUI.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5020|60|#5027|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|131|1|WebUI|web
..\..\Projects\csharp building blocks\WinUI.vsz|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|#5021|70|#5028|{AE77B8D0-6BDC-11d2-B354-0000F81F0C06}|132|0|Project
Für jeden Datensatz in einer VSDIR-Datei können die folgenden Felder angegeben werden:
Feld |
Bedeutung |
---|---|
RelPathName |
Erforderlich.Der Name der VSZ-Datei des Assistenten, z. B. MyWizard.vsz, der relativ zum Visual Studio-Installationsverzeichnis angegeben wird. |
{clsidPackage} |
Optional.Eine GUID, die ein Produkt (wie Visual C++) darstellt, das über eine DLL mit lokalisierten Ressourcen verfügt.Dieses Feld ist bei VSDIR-Dateien für Assistenten von Drittanbietern leer. |
LocalizedName |
Optional.Hierbei handelt es sich um den lokalisierbaren Namen des Assistenten oder der Vorlage und den Namen, der im Dialogfeld Element hinzufügen angezeigt wird.Es kann sich dabei um eine Zeichenfolge oder eine Ressourcenkennung in der Form #ResID handeln. |
SortPriority |
Erforderlich.Eine ganze Zahl, die die Sortierreihenfolge und die relative Priorität des Assistenten darstellt, wobei 1 die höchste Priorität bezeichnet.Wenn der Wert dieses Elements beispielsweise "1" beträgt, wird es neben anderen Elementen mit einer "1" und vor allen Elementen mit einer "2" oder niedrigerem Wert angezeigt. |
Beschreibung |
Erforderlich.Eine lokalisierbare Beschreibung der Vorlage oder des Assistenten, die bei Auswahl des Elements im Dialogfeld Element hinzufügen angezeigt wird.Es kann sich dabei um eine Zeichenfolge oder eine Ressourcenkennung in der Form #ResID handeln.Dieses Feld gilt nur für Vorlagendateien und nicht für Ordner. |
DLL-Pfad oder {CLSID-Paket} |
Erforderlich.Gibt einen vollständigen Pfad zu einer DLL- oder EXE-Datei an oder eine GUID eines Produkts mit einer DLL-Datei, die ein Symbol enthält, das für den Assistenten geladen werden soll.Das Symbol wird anhand der angegebenen IconResourceId als Ressource aus einer DLL-/EXE-Datei geladen.Diese Einstellung überschreibt {clsidPackage} für den Symbolspeicherort (sofern angegeben).Dieses Feld gilt nur für Vorlagendateien und nicht für Ordner. |
Symbolressourcenkennung |
Optional.Eine Ressourcenkennung in der DLL-Datei, die das anzuzeigende Symbol bestimmt.Ist kein Symbol definiert, ersetzt die Umgebung das Standardsymbol einer Datei mit derselben Dateinamenerweiterung wie das Element.Dieses Feld gilt nur für Vorlagendateien und nicht für Ordner. |
Flags |
Optional.Eine Beschreibung der Flags finden Sie in der unten stehenden Tabelle.Dieses Feld gilt nur für Vorlagendateien und nicht für Ordner. |
SuggestedBaseName |
Erforderlich.Der Standardname für den Assistenten, der im Dialogfeld im Feld Name angezeigt wird.Dabei handelt es sich um eine Zeichenfolge oder eine Ressourcenkennung in der Form #ResID.Ist der Name nicht eindeutig, fügt die Umgebung am Ende des Namens eine ganze Zahl ein.MyFile.aspx kann beispielsweise in MyFile1.aspx geändert werden.Wird kein Name angegeben, wird "Project" verwendet.Dieses Feld gilt nur für Vorlagendateien und nicht für Ordner. |
Hinweise
Ein optionales Feld, für das es keine sinnvollen Daten gibt, sollte als Platzhalter 0 (null) enthalten.Wird kein lokalisierter Name angegeben, wird der relative Pfad verwendet.
Ist kein Symbol definiert, ersetzt die IDE das Standardsymbol einer Datei mit dieser Erweiterung.
Wird kein vorgeschlagener Basisname angegeben, wird "Project" verwendet.
Flags
Eine Gruppe von bitweisen Flags, die im Dialogfeld Element hinzufügen die Felder Name und Speicherort aktivieren oder deaktivieren.Wenn der Benutzer also unter Hinzufügen die Option Neues Element hinzufügen auswählt, legt das Projekt zwar fest, ob der Name und Speicherort im Bereich Vorlagen angezeigt werden, aber die Flags legen fest, ob der Name und Speicherort dem Benutzer zur Verfügung stehen.Legen Sie den Wert von Flags auf die Summe fest, die sich aus den einzelnen Werten ergibt.33 entspricht somit VSDIRFLAG_NonLocalTemplate | VSDIRITEM_DisableLocationField.
Flagname
Dezimalwert
Beschreibung
VSDIRFLAG_NonLocalTemplate
1
Verhalten einer nicht lokalen Benutzeroberfläche und Speichermechanismen verwenden.
VSDIRFLAG_BlankSolution
2
Eine leere Projektmappe erstellen.Kein Projekt erstellen.
VSDIRFLAG_DisableBrowseButton
4
Für dieses Projekt oder Element die Schaltfläche Durchsuchen deaktivieren.
VSDIRFLAG_DontAddDefExtension
8
Keine Standarderweiterung an den für das Element bereitgestellten Namen anhängen.(Diese Einstellung ist für Projekte unzulässig.)
VSDIRFLAG_DisableLocationField
32
Für dieses Projekt oder Element das Feld Speicherort deaktivieren
VSDIRFLAG_DontInitNameField
4096
Für dieses Projekt oder Element nicht das Feld Name mit einem gültigen Namen initialisieren.
VSDIRFLAG_DisableNameField
8192
Für dieses Projekt oder Element das Feld Name deaktivieren
Siehe auch
Aufgaben
Gewusst wie: Erstellen von Add-Ins
Exemplarische Vorgehensweise: Erstellen eines Assistenten
Konzepte
Konfigurieren von VSZ-Dateien zum Starten von Assistenten