Working on centralizing configurations, app settings and connection strings, for multiple solutions, while also switching over to use msdeploy from command line to deploy we
I ended up solving this problem with a combination of msbuild running on TeamCity to create NuGet packages which can be consumed by OctopusDeploy.
Octopus allow for an application packaged up into a nuget package (built once) to be pushed through multiple environments. Config can be transformed on a per environment or even a per machine basis using standard ms transforms. Links to relevent Octopus docs below.
Packaging for Octopus
Configuring config transforms