Rather than the developer having to explicitly replace some values (in square brackets) in the DNN manifest file, I could automatically set them using properties of the project. For example, rather than the following manifest file:
<package name="[YourPackageName]" type="Module" version="0.0.0">
<friendlyName>[FriendlyPackageName]</friendlyName>
<description></description>
It could instead contain variables that I will automatically substitute with appropriate values:
<package name="$projectName$" type="Module" version="$manifestVersionNumer$">
<friendlyName>$assemblyTitle$</friendlyName>
<description>$assemblyDescription$</description>
These values will come from the corresponding project properties

One important thing to note will be that when you use a variable in the manifest for the version number (like below), then by default it will be set according to an MsBuild property named $(manifestVersionNumber) which by default, will be set from the AssemblyInfoVersion (Major.Minor.Build). You could optionally override this variable with your own version number - i.e perhaps a version number based on the Team City build counter etc.
<package name="$projectName$" type="Module" version="$manifestVersionNumer$">
Blocked by Move msbuild xml logic into a C# Custom Build Task class and Create Unit Tests #15Done.Rather than the developer having to explicitly replace some values (in square brackets) in the DNN manifest file, I could automatically set them using properties of the project. For example, rather than the following manifest file:
It could instead contain variables that I will automatically substitute with appropriate values:
These values will come from the corresponding project properties
One important thing to note will be that when you use a variable in the manifest for the version number (like below), then by default it will be set according to an MsBuild property named $(manifestVersionNumber) which by default, will be set from the AssemblyInfoVersion (Major.Minor.Build). You could optionally override this variable with your own version number - i.e perhaps a version number based on the Team City build counter etc.