With the support of version control systems (VCS) in Dynamics AX 4.0 and the integration in the AOT a lot of effort was put into the product to make the development in teams more efficient and reduce the chance of conflicts. Dynamics AX 2009 continues this effort with the support of additional version control systems like Microsoft Team Foundation Server (TFS).

The adding of objects in the AOT to source control is straight forward as well as the checking in and checking out. When you are however trying to rename an object that is under source control you might get some unexpected effects if you are using Team Foundation Server as your VCS; actually it’s not you, but the other developers in your team that experience the unexpected effects.

So lets imagine you have an AOT object, e. g. a class object ClassA, that is under source control and in a checked out state. You are a developer and decide to rename the class to ClassB and do a check in. When now a different developer in your team that has already ClassA existing decides to retrieve the latest changes from your VCS (do a synchronization), the developer will get confronted with an error message that another object with the same id already exists and the existing object ClassA isn't renamed to ClassB.

The root cause of the issue is that the object was in a checked out state when it was renamed and later checked in. When you do a rename of an AOT object that is under source control the object has to be in a checked in state when you do the rename (see also: How to: Rename AOT Objects in the Version Control System)!

On the other hand Dynamics AX 2009 should not run into this error state and therefore the Hotfix KB972037 was released to prevent this issue from happening in the future.

Please go to the Microsoft Dynamics AX 2009 SDK on MSDN if you want to know more about using a VCS in Dynamics AX 2009.