Nope, had to control everything from the nuget client.
Put all your Core packages in a seperate drop location.
Setup the new drop location in the packages repository:
run nuget shell
Update-Package -Source \\yourpackages\drop -IgnoreDependencies
-IgnoreDependencies speeds up your update
for the build dependencies:
use regular dependency numbers based on the major and minor
Depends on Core.Common (">2.0")
So you only have to specify the dependencies if you upgrade from 2.0 to 2.1.
Another solution is to let nuget make the trick its own:
Write a build script (.proj) that builds the projects.
Put a nuspec in each directory where a csproj file is.
Build with versioning (cause this happens before the build script executes)
nuget pack your package file (within the proj file), it will automatically check for project dependencies and add it to the dependency list.
i think it was a bad idea to let tfs manage the packaging, it lead our team to a lot of confusion with multiple branches.
Use semver with alpha and beta for stabilisation, in the release branch switch to the stable version. Start from there on with a new minor or major version tagged as alpha.
Hope that helps :)