Updated: December 4, 2013
The CSPack Command-Line Tool uses a specific set of conventions to create packages that are deployable to Windows Azure. You must comply with these conventions in order to read and manipulate packages in a safe manner so that they can be deployed to Windows Azure.
The conventions and restrictions are as follows:
Do not modify the KeyValuePair collection in the XML manifest file with key http://schemas.microsoft.com/windowsazure/ProductVersion/.
Do not modify or add any ContentDefiniton collections to the package.xml file that have a Name with the ServiceDefinition/.. or NamedStreams/.. prefix. These namespaces are reserved.
Do not remove any LayoutDefinition collection with a Name that begins with Roles/. There should be one such LayoutDefinition collection for each Role in the package and the Name element specifies the name of the role.
The FileDefinition collections in LayoutDefinition that begin with Roles/ can be modified with the following restrictions: only a FilePath starting with \approot or \sitesroot can be modified or added. These files are the user defined contents of a package and are typically added by CSPack, unchanged.
ConceptsWindows Azure Package Format