While preparing a build from the client’s TFS central repository, I ran into this “static keyword” error: ‘Cannot add or remove static keyword for this method’. See TFS integration with Microsoft Dynamics AX 2012 and automated scripts for build and deployment.
In the TFS database, we were running a sync with force prior to creating our build. During compile, the above error occurred on a method in which one of our developers had recently added the static keyword.
There are a few articles online regarding this error when running an AXBuild compile. My intention here is just to point out another scenario where the error may be encountered.
It still comes back to the same problem and solution. In the Model database, the ModelElement table stores the element types for methods. See this Microsoft Developer Network article for the list of element types.
In the TFS database, the ModelElement table still showed my method as type 14, ClassInstanceMethod. Even though the static keyword was visible in the method in the AOT, the class would not compile.
I ran the following update statement on the ModelElement table for the static method in the TFS Model database.
update [AX_TFS1_model].[dbo].[ModelElement] set ElementType = 13 where name =
This allowed the sync to complete and we were able to move on with our build.
The Stoneridge development team considers it best practice to create new methods rather than modifying any method in a Microsoft created class. In this case, the method being modified was a custom method.