Your question is old here, at the time the solution was different, but today a lot has evolved, and I believe it can help others who may be in the same situation.
TFS (Team Foundation Server) is a tool that goes beyond simple version control of applications, TFS is a complete stack of DevOps from Microsoft.
We can say today that TFS has "two versions" :
- On-Premisses: TFS, which you install on your network, you manage bkp, update, etc.
- Cloud: VSTS (Visual Studio Team Services), you do not have to worry about installation, configuration, bkp, update, etc.
TFS / VSTS has a number of features that, if well used, allow you to perform this version mapping, as @Rod was looking for, it's these features:
Versioning, using GIT and / or TFVC repositories
Agile Planning, for task management, Scrum, Kanban
Build Automated, to validate if the project is ok, and generate the packages for deployment
Automated Deployment, to deploy the application in all environments, with approval cycle, scheduling, etc.
Well, now to the point of the question.
Because VSTS / TFS has automated deployment functionality, you can validate which version of the build was deployed in the last time environment, so doing deployment with that version re-specifies the environment.
About the first image:
This is the Deployments Dashboard, each green box, it refers to an environment where Deployment was performed, the part where the build is made, is the version of the build that was used in deploy, so in case you need to go back to the version, you can see which build was deploy, and thus start a new one using this build to ensure that the functional version is in production.