.NET Core Memory Dumps From Azure in dotMemory: Missing mscordaccore.dll

So you created a memory dump of your .NET Core app on Azure but when trying to import it with JetBrain’s dotMemory you get the following error?

Unable to import the dump: The matching DAC file (mscordaccore.dll, v4.6.27317.03, x86) was not found neither on local machine nor on public Microsoft servers. Please find the file manully and copy it to the same folder with the dump.

(Yes, the message really says “manully”, not “manually”)

So what’s mscordaccore.dll is all about? Honestly? I don’t know and I don’t care. But I know where to find that file and where to place it. And here’s what to do:

  1. In the Azure Portal, go to your App Service and open the Kudu window.
  2. In the Kudu window, open the Debug console menu from the top bar and select whatever console you like (CMD or PowerShell).
  3. In the console that has opened, enter the following:
    cd "\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App\2.1.8"
    (Note the version 2.1.8 in this example. You might be using another version, so you must change the version accordingly.)
  4. In the file list above the console, locate the file
    mscordaccore.dll. You might find multiple file that start with
    “mscordaccore” and that might contain version information in their names. In my case, I picked the fiel that contained the version that matched dotMemory’s error message and it worked immediately. You might need to try out which DLL to use.
  5. To the left of the DLL you choose, click the download button and copy the downloaded DLL to the same directory where your memory dumps are located.
  6. Open dotMemory and retry importing the memory dump.

Freelance full-stack .NET and JS developer and architect. Located near Cologne, Germany.

Leave a Reply

Your email address will not be published. Required fields are marked *