I have a project setup in Subversion which has a few Subversion Externals defined. These Subversion Externals reference other projects.
Example Subversion layout:
Example Checkout layout:
TeamCity allows you to attach a AssemblyInfo Patcher build feature to your build configuration, but does not seem to allow excluding Externals. Since the Externals are separate projects I want to retain their assembly version or AssemblyInfo patch them with a different pattern.
At the moment, because my build configuration checks out Project1 with full Subversion Externals support and then applies the AssemblyInfo Patcher my Project1 assemblies and my Project2 assemblies all have the same assembly version - even though I want them to be different.
Is there a way to have Project1 assemblies versioned differently to the Project2 assemblies?
There currently is no way to provide directories to exclude.
According to the TeamCity docs, the AssemblyInfo Patcher only updates the AssemblyVersion
and AssemblyFileVersion
values in all found AssemblyInfo source files (e.g. AssemblyInfo.cs, AssemblyInfo.vb) before anything is built, it does not alter the version of existing compiled binaries.
The externals you mention, are they just binaries, or are you including everything of Project2
(e.g binaries, project files, source code etc)? You should just be including the binaries.
If the AssemblyInfo Patcher does not meet your requirements you will have to revert to doing it manually (such as using a seperate MSBuild script) and excluding the external directory when searching for the AssemblyInfo files to update.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With