.net programming for Dynamics AX developers slides

I published the slides from my last years presentation on my new blog. This is has been the working draft, but it contains much more slides as the final version, so I’m publishing this one.


My blog is Moving

I’m moving to Blogger since I’m writing these articles for personal purposes and I want to have as much control as possible on my postings. So Please be aware that I will will publish my next articles on the new blog.


Enterprise Portal license required for workflows with dynamics Ax 2009

Dynamics Ax workflow does require the Enterprise Portal (EP) license. License changes since Dynamics Ax 4 can be found here. Please double-check that the EP license is well configured when the BC.Net throws the following exception (can be found in the Windows application-EventLogs): Session log on for Microsoft Dynamics failed. Dynamics Adapter LogonAs failed. Microsoft.Dynamics.Framework.BusinessConnector.Session.Exceptions.FatalSessionExcept…


Delete TEMP files when sending mails with attached files

Attaching Documents is a frequently used functionality in Ax (PDF is just an example, but it is true for any attached file): That is why tmp-files, that are generated each time you are using this, might consume quickly an important part of your hard disk, since they are not deleted at the end of the…


Memory leaks and profiling with .Net

I wrote some moths ago an article about the GC and highlighted some particularities (unsafe and unmanaged code, disposing and finalizing, etc). When you are developing with .Net you will be sometimes faced to memory or resource leaks. Especially if you are using the BC.Net, since the BC.Net is using unsafe and unmanaged code. But even with…


IDynamicsAXExpressionBuilder returned error code 0x80131509 – reloaded

As I already wrote it in the update of that blog entry in my first posing about this issue: The origin of this issue can be found in the method ‘buildEnumerationXml’ of the class ‘SysExpression’: Currently, a loop iterates until the last element: for (i = sysDictEnum.firstValue(); i <= sysDictEnum.lastValue(); i = sysDictEnum.nextValue(i)) I you…