Descriptor Schema for Projectgen.exe
Visual Studio Tools for Applications includes the Project Template Generation tool (Projectgen.exe). Projectgen.exe creates a project template for your application and can optionally generate an XML descriptor file for project templates. This descriptor file describes the contents of the template. It is based on a schema named ProjectGenDescriptor.xsd. For more information about generating project templates, see Creating Project Templates Using the Project Template Generation Tool (Projectgen.exe).
ProjectGen
The ProjectGen element is the root of the ProjectGen descriptor schema. The following table describes the child elements of the ProjectGen element.
Element |
Type |
Description |
---|---|---|
TemplateProperties |
complex type |
A required element that describes the properties of the template. This element contains the following elements: Name, Description, DefaultProjectName, and Icon. |
ProjectProperties |
complex type |
A required element that describes the properties of the project. This element contains the following elements: HostName, DebugInfoExeName, DebugInfoCommandLine, InProcHost, HostIdentifier, IconImageList, HostIconIndex, OpenFolderIconIndex, HostItems, References, COMReferences. |
TemplateProperties
TemplateProperties is a complex type that represents all of the properties available for the template. The following table describes the elements in the TemplateProperties complex type.
Element |
Type |
Description |
---|---|---|
Name |
RestrictedLengthString |
A required element that specifies the name of the add-in template that appears in the New Project dialog box. The string can have a maximum length of 255 characters. |
Description |
RestrictedLengthString |
An optional element that describes the add-in template. The string can have a maximum length of 255 characters. |
DefaultProjectName |
String |
A required element that specifies the default project name to display in the New Project dialog box. |
Icon |
String |
An optional element that specifies the icon to be used to identify the add-in template in the New Project dialog box. |
ProjectProperties
ProjectProperties is a complex type that represents all of the properties available for the project. The following table describes the elements in ProjectProperties.
Element |
Type |
Description |
---|---|---|
HostName |
String |
A required element that specifies the name of the host. This name does not have to be the same as the HostIdentifier. |
DebugInfoExeName |
String |
An optional element that specifies the name of the executable file to run for debugging. |
DebugInfoCommandLine |
String |
An optional element that specifies additional parameters that can be passed to the debug executable. For information about replacement variables, see Project Template Generation Tool (Projectgen.exe). |
InProcHost |
String |
An optional element that specifies the path to an in-process host. For more information, see Creating In-Process Hosts. |
HostIdentifier |
String |
A required element that specifies the identifier in the registry for the host application. For more information about host identifiers, see Host Configuration Registry Key Settings. |
IconImageList |
String |
An optional element that specifies the path to an icon image list. The image list contains 16x16 pixel images to be associated with the host, host item, and open folder items in Solution Explorer. |
HostIconIndex |
Integer |
An optional element that specifies the icon associated with the host application. |
OpenFolderIconIndex |
Integer |
An optional element that specifies the index for the icon associated with the host application in its expanded state. |
HostItems |
complex type |
A required element that specifies the names of the entry point classes. |
References |
complex type |
An optional element that specifies the managed references to be included in the project template. |
COMReferences |
complex type |
An optional element that specifies the references to COM type libraries to be included in the project template. |
HostItems
HostItems is a complex type that represents all of the host items in the project. The following table describes the elements in HostItems. The Projectgen.exe wizard supports only one HostItem element.
Element |
Type |
Description |
---|---|---|
ProxyAssemblyName |
String |
A required element that specifies the full path of the proxy assembly DLL. |
HostItemName |
NoWhiteSpaceString |
A required element that specifies the name of the host item. |
BaseType |
String |
A required element that specifies the base type of the host item as specified in the proxy DLL. |
PrimaryCookie |
String |
A required element that specifies the unique identifier associated with the host item. |
IconIndex |
Integer |
An optional element that specifies the index for the icon associated with the host item. |
References
References is a complex type that represents the managed references to be included in the project template. The following table describes the elements in References.
Element |
Type |
Description |
---|---|---|
Reference |
complex type |
An optional element that specifies a reference in the project. This element contains one or more Include attributes. |
The following table describes the attributes of the Reference element.
Attribute |
Type |
Description |
---|---|---|
Include |
String |
A required attribute that specifies the name of the assembly that is being referenced. |
COMReferences
COMReferences is a complex type that represents the references to COM type libraries to be included in the project template. The following table describes the elements in COMReferences.
Element |
Type |
Description |
---|---|---|
COMReference |
complex type |
An optional element that specifies a COM reference in the project. This element contains the following elements: Guid, VersionMajor, VersionMinor, and WrapperTool. This element also contains an attribute named Include. |
COMReference
COMReference is a complex type that represents a reference to a COM type library in the project. The following table describes the elements in COMReference.
Element |
Type |
Description |
---|---|---|
Guid |
String |
A required element that specifies the GUID of the COM reference. |
VersionMajor |
Unsigned Byte |
A required element that specifies the version identifier to the left of the first decimal point in the identifier of the COM reference. |
VersionMinor |
Unsigned Byte |
A required element that specifies the version identifier to the right of the first decimal point in the identifier of the COM reference. |
WrapperTool |
String |
A required element that specifies the name of the tool used to wrap the COM reference. |
The following table describes the attributes of the COMReference element.
Attribute |
Type |
Description |
---|---|---|
Include |
String |
A required attribute that specifies the name of the COM type library that is being referenced. |
RestrictedLengthString
A string element that has a maximum length of 255 characters.
NoWhiteSpaceString
A string element that has no white spaces within the string, and has a maximum length of 255 characters.
See Also
Tasks
How to: Create a Project Template Using the Projectgen.exe Command-Line Tool
Walkthrough: Creating a Project Template Using the Project Template Wizard
Concepts
Creating Project Templates (Visual Studio Tools for Applications)
Creating Project Templates Using the Project Template Generation Tool (Projectgen.exe)