Monday, November 25, 2013

AX2012 : CIL generation error : The given key was not present in the dictionary.

Recently I faced this error when generating incremental IL
"CIL generation: The given key was not present in the dictionary."

The quick way to fix this is to check the CIL log file, generally located at "C:\Program Files\Microsoft Dynamics AX\60\Server\MicrosoftDynamicsAX\bin\XppIL\Dynamics.Ax.Application.dll.log"

Here you will find the AOT object for which the CIL generator found the error. Compile that object, fix the error and then regenerate the IL.

Before generating IL it is good practise to make sure that there are no compilation errors in the code.


  1. I've found the same error while compiling .net into framework CIL (CU 9 software update checklist) but I can't find the object.
    This is the error I'm facing:

    Error when loading the method. Type: PayrollPayStatementTaxLine, Method: insert
    System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.

    Any idea?

    1. Hi,
      Make sure full system compilation is done and there are no compilation errors. Also try by running the CIL generation from the AOS machine.

    2. perfect. :) saved 2hrs of mine :)


  2. Become Your Own Financial Advisor
    Define Your Investment Goals & Objectives
    “If you don’t know where you are going, you might wind up someplace else.” –Yogi Berra
    If you build a house without a plan, what sort of results would you expect? Theoretically, you could get lucky and end up with the house of your dreams. What’s more likely, however, is that the house wouldn’t be anything like what you had wanted. You might need to move the doors and windows, build new walls and take down others – or worse.
    Investing isn’t any different. Without a plan, you could (again, theoretically) get lucky, but the odds are against it. Without goals – and a well-thought-out plan for meeting those goals – you probably won’t end up where you want to be financially, in either the short- or long-term. You have to make goals to meet goals.
    There are several ways to approach investment goals. Traditionally, investors have focused on generating the highest possible returns or beating the market, while staying within their comfort zones in terms of risk. A relatively new approach to wealth management is goal-based investing, which emphasizes investing with the objective of reaching specific life goals – such as buying a house, saving for your child’s education, or building a nest egg for retirement – instead of comparing returns to a benchmark. The theory is that:
    • Setting goals makes it more likely that you’ll save for – and achieve – every goal.
    • You’ll be more motivated to reach a goal since you can gauge its progress.
    • You can consider the time horizon and risk level separately for each goal, and invest accordingly.
    Whichever approach you prefer, the important thing is to do something, and not just leave your financial health to chance. Many people work with financial advisors (FAs) – professionals who provide financial advice and guidance. They can lay out your options and help you find investments that match your risk level. In many cases, working with a financial advisor makes sense, but it is possible to be your own FA – if you’re willing to put in some time and effort.


  3. Private Institute of Law-Cyprus Institute of Law (CIL) is a leader in training in legal training and courses for Lawyers, Professionals and Legal Assistants.

  4. Thanks! Perfect answer!