A few thoughts around assembly naming and versioning for NAV

  • Post comments:3 Comments
  • Reading time:5 mins read

Are you developing .NET assemblies intended to be used from C/AL? If so, then you must have realized that keeping proper track of them and managing them on the server (or client, in case you still do that) is not a simple affair.

Assemblies in .NET are identified through their fully qualified name, and that’s how NAV tells one assembly from another, as well. Fully qualified name contains the assembly name, version, public key token, and culture information. A good practice in .NET development is that when you update assembly’s functionality, you also version that assembly up, essentially resulting in a completely new assembly, which doesn’t have the same fully qualified name as the older version did.

However, this kind of change is a breaking change. In .NET, it’s not all that breaking – you simply reference the new version and this applies to whole project. Or whole solution, depending on how you configure the MSBuild behavior.

But in NAV, it’s a completely different story. Versioning an assembly up is a very breaking change. In NAV, we cannot simply replace a reference once, and then have it apply to the whole database. Unfortunately, we have to update a reference on every single variable, and if you ever had to do it, chances are you don’t keep any happy memories about this experience.

That’s why NAV developers, when working in .NET, prefer not versioning up. And that’s wrong.

(more…)

Continue ReadingA few thoughts around assembly naming and versioning for NAV

Automated version management? Of course!

  • Post comments:16 Comments
  • Reading time:6 mins read

Imagine that whenever you edit an object in C/SIDE Object Designer, and save it, the system automatically saves it in the version history. Imagine that it never simply overwrites your previous version, but keeps all of them there for you. Imagine that you can see all of the modified versions of any object, then make any version the current version by doing as much as a single mouse-click, no tedious imports and exports needed. Imagine that this is true for all of the developers on your team. Imagine that it is completely, fully automated.

(more…)

Continue ReadingAutomated version management? Of course!

Version management

  • Post comments:7 Comments
  • Reading time:9 mins read

When I posted my last relevant post on this blog, I’ve got a comment from infonote (a visitor) how bad it was that Microsoft Dynamics NAV can’t use a versioning system. Well, as the matter of fact, it can.

One of the nice things in NAV is that at any given moment, the development environment is just a Shift+F12 away. When you are a single developer on your team or on a project, this keypress is your best friend. But if there are other people on your team pressing it with an agenda, then this keypress might as well be a combination made in hell.

(more…)

Continue ReadingVersion management