Created
August 18, 2019 12:55
-
-
Save udaken/644b0c0e9d94a4c39bf312d1a1174bf2 to your computer and use it in GitHub Desktop.
Visual C++ 2008 Project File Schema
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8" ?> | |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<xs:element name="VisualStudioProject" type="VisualStudioProjectType" /> | |
<xs:complexType name="ConfigurationType"> | |
<xs:sequence> | |
<xs:element name="Tool" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:attribute name="Name" type="xs:string" use="required" /> | |
<!-- NOTE: all other attributes are properties of that particular tool object. --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="DeploymentTool" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<!-- NOTE: all other attributes are properties of that particular tool object. --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="DebuggerTool" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<!-- NOTE: all other attributes are properties of that particular tool object. --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute name="Name" type="xs:string" use="required" /> | |
<!-- NOTE: all other attributes are properties of that particular configuration object. --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
<xs:complexType name="FilterType"> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="Filter" type="FilterType" /> | |
<xs:element name="File" type="FileType" /> | |
</xs:choice> | |
<xs:attribute name="Name" type="xs:string" use="required" /> | |
<!-- NOTE: all other attributes are properties of that particular filter object. --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
<xs:complexType name="FileType"> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="File" type="FileType" /> | |
<xs:element name="FileConfiguration" type="ConfigurationType" /> | |
</xs:choice> | |
<xs:attribute name="RelativePath" type="xs:string" use="required" /> | |
<!-- NOTE: all other attributes are properties of that particular file object. --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
<xs:complexType name="VisualStudioProjectType"> | |
<xs:sequence> | |
<xs:element name="Platforms" minOccurs="1" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="Platform" minOccurs="1" maxOccurs="unbounded"> | |
<xs:complexType> | |
<!-- NOTE: the following attribute must match an existing platform on the system. --> | |
<xs:attribute name="Name" type="xs:string" use="required" /> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ToolFiles" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="ToolFile" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:attribute name="RelativePath" type="xs:string" use="required" /> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="DefaultToolFile" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:attribute name="FileName" type="xs:string" use="required" /> | |
</xs:complexType> | |
</xs:element> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="PublishingData" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<!-- NOTE: all child elements are items of the publishing data --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="PublishingItem" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
</xs:element> | |
</xs:choice> | |
<!-- NOTE: all other attributes are properties of the publishing project object. --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Configurations" minOccurs="1" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="Configuration" minOccurs="1" maxOccurs="unbounded" type="ConfigurationType" /> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="References" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="AssemblyReference"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="ReferenceConfiguration" minOccurs="0" maxOccurs="unbounded" type="ConfigurationType" /> | |
</xs:sequence> | |
<xs:attribute name="RelativePath" type="xs:string" use="required" /> | |
<xs:attribute name="AssemblyName" type="xs:string" use="optional" /> | |
<xs:attribute name="CopyLocal" type="xs:string" use="optional" /> | |
<xs:attribute name="CopyLocalDependencies" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="CopyLocalSatelliteAssemblies" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="UseInBuild" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="UseDependenciesInBuild" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="SubType" type="xs:string" use="optional" /> | |
<xs:attribute name="MinFrameworkVersion" type="xs:string" /> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ProjectReference"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="ReferenceConfiguration" minOccurs="0" maxOccurs="unbounded" type="ConfigurationType" /> | |
</xs:sequence> | |
<xs:attribute name="ReferencedProjectIdentifier" type="xs:string" use="required" /> | |
<xs:attribute name="Name" type="xs:string" use="optional" /> | |
<xs:attribute name="CopyLocal" type="xs:string" use="optional" /> | |
<xs:attribute name="CopyLocalDependencies" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="CopyLocalSatelliteAssemblies" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="UseInBuild" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="UseDependenciesInBuild" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="RelativePathToProject" type="xs:string" use="optional" /> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="ActiveXReference"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="ReferenceConfiguration" minOccurs="0" maxOccurs="unbounded" type="ConfigurationType" /> | |
</xs:sequence> | |
<xs:attribute name="ControlGUID" type="xs:string" use="required" /> | |
<xs:attribute name="ControlVersion" type="xs:float" use="required" /> | |
<xs:attribute name="LocaleID" type="xs:string" use="optional" /> | |
<xs:attribute name="WrapperTool" type="xs:string" use="optional" /> | |
<xs:attribute name="CopyLocal" type="xs:string" use="optional" /> | |
<xs:attribute name="CopyLocalDependencies" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="CopyLocalSatelliteAssemblies" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="UseInBuild" type="xs:boolean" use="optional" default="true" /> | |
<xs:attribute name="UseDependenciesInBuild" type="xs:boolean" use="optional" default="true" /> | |
</xs:complexType> | |
</xs:element> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Files" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:choice minOccurs="0" maxOccurs="unbounded"> | |
<xs:element name="Filter" type="FilterType" /> | |
<xs:element name="File" type="FileType" /> | |
</xs:choice> | |
</xs:complexType> | |
</xs:element> | |
<xs:element name="Globals" minOccurs="0" maxOccurs="1"> | |
<xs:complexType> | |
<xs:sequence> | |
<xs:element name="Global" minOccurs="0" maxOccurs="unbounded"> | |
<xs:complexType> | |
<xs:attribute name="Name" type="xs:string" use="required" /> | |
<xs:attribute name="Value" type="xs:string" use="required" /> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:element> | |
</xs:sequence> | |
<!-- NOTE: the ProjectType attribute is only for readability. --> | |
<xs:attribute name="ProjectType" type="xs:string" fixed="Visual C++" use="optional" /> | |
<xs:attribute name="Version" use="optional" default="7.00"> | |
<xs:simpleType> | |
<xs:restriction base="xs:string"> | |
<xs:enumeration value="7.00" /> | |
<xs:enumeration value="7,00" /> | |
<xs:enumeration value="7.10" /> | |
<xs:enumeration value="7,10" /> | |
<xs:enumeration value="8.00" /> | |
<xs:enumeration value="8,00" /> | |
<xs:enumeration value="9.00" /> | |
<xs:enumeration value="9,00" /> | |
</xs:restriction> | |
</xs:simpleType> | |
</xs:attribute> | |
<!-- NOTE: if the ProjectGUID attribute is missing, a new GUID will be generated. --> | |
<xs:attribute name="ProjectGUID" type="xs:string" use="optional" /> | |
<xs:attribute name="RootNamespace" type="xs:string" use="optional" /> | |
<xs:attribute name="Keyword" type="xs:string" use="optional" /> | |
<!-- NOTE: if the Name attribute is missing, one will be created based on the .vcproj filename. --> | |
<xs:attribute name="Name" type="xs:string" use="optional" /> | |
<xs:attribute name="AssemblyReferenceSearchPaths" type="xs:string" use="optional" /> | |
<xs:attribute name="ManifestKeyFile" type="xs:string" use="optional" /> | |
<xs:attribute name="ManifestCertificateThumbprint" type="xs:string" use="optional" /> | |
<xs:attribute name="ManifestTimestampURL" type="xs:string" use="optional" /> | |
<xs:attribute name="SignManifests" type="xs:boolean" use="optional" /> | |
<xs:attribute name="SignAssembly" type="xs:boolean" use="optional" /> | |
<xs:attribute name="AssemblyOriginatorKeyFile" type="xs:string" use="optional" /> | |
<xs:attribute name="DelaySign" type="xs:boolean" use="optional" /> | |
<xs:attribute name="GenerateManifests" type="xs:boolean" use="optional" /> | |
<xs:attribute name="TargetZone" type="xs:string" use="optional" /> | |
<xs:attribute name="ExcludedPermissions" type="xs:string" use="optional" /> | |
<xs:attribute name="TargetFrameworkVersion" type="xs:string" /> | |
<!-- NOTE: all other attributes matched as project properties will be applied. --> | |
<!-- any unrecognized attribute will be ignored. --> | |
<xs:anyAttribute processContents="skip" /> | |
</xs:complexType> | |
</xs:schema> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment