Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not a customer? Start a free trial

Click the Start a free trial link to start a 15-day SaaS trial of our product and join our community as a trial user. If you are an existing customer do not start a free trial.

AppDynamics customers and established members should click the sign in button to authenticate.

NET (Agent, Installation)

BadImageFormat Exceptions on 4.5.13 and 4.5.15 of dotNetAgent.


BadImageFormat Exceptions on 4.5.13 and 4.5.15 of dotNetAgent.

We are experiencing loss of functionality - replaced with a "BadImageformat" exception and the IIS Server returning HTTP 400 to the clients in one of our services every X number of App Pool Recycles in production and have managed to track this back to the AppDynamics agent. We initially ran 4.5.13 and were able to reproduce the error behaviour in our QA environment, and also to see it disappear as an issue when AppDynamics was uninstalled and IIS restarted. Our hope was that 4.5.15 would've fixed this issue, despite it not being mentioned on the fix list. Unfortunately we seem to be able to reproduce the error behaviour here too, albeit less frequently. I thought this issue was fixed in a much earlier version of the DotNetAgent?
By replying you agree to the Terms and Conditions of the AppDynamics Community.
BadImageFormat Exceptions on 4.5.13 and 4.5.15 of dotNetAgent.
AppDynamics Team

BadImageFormatException is something we have seen recently and our Devs are currently working on the fix. The fix will be coming very soon.

The root cause is a race condition when making IL transformations, which introduces nulls in the transformed IL.
This issue we're seeing is caused by a race condition where the agent injects multiple methods into the application for tracking business transactions.  One of the methods injected is calling another method where the method signature exists but the method body doesn't yet.  This results in the BadImageFormatException you're seeing. 

Meanwhile, we have a workaround configuration to work around this issue without losing visibilityThis workaround requires the following changes:

  1. Edit the config.xml to add the following xml element within the <app-agents> element.
    • <profiler>
      <full-no-dependency-mode enabled="false" />
  2. Save the Config.xml file.
  3. Restart the AppDynamics.Agent.Coordinator service.
  4. Restart the instrumented process (the application pool in this case).

So our recommendation is to make the configuration change above, which will resolve the issue you're seeing now without having to wait for a new agent version.  Once the new agent version comes out we recommend upgrading to that version(4.5.18) and then removing the config above from the configuration file. 

Community Manager

Hi @Terje.Barth,


The .Net agent was updated in December (DOTNET-3700) to fix this issue


Ryan, AppDynamics Community Manager

Found something helpful? Click the Accept as Solution button to help others find answers faster.
Liked something? Click the Thumbs Up button.

What would happen if a 4.5.18 or newer system still had the <full-no-dependency-mode enabled="false" /> flag in place?