The Global Assembly Cache (GAC) is a group of EXE (executable) and DLL (Library) files that .Net Framework applications like the ShareGate migration tool use.
The GAC is part of your Windows operating system.
You get the following warning in the ShareGate migration tool:
Another version of a DLL in your Global Assembly Cache (GAC) is prioritized over a DLL packaged and used by the ShareGate migration tool. This might prevent some features from working as expected.
The ShareGate migration tool comes packaged with a number of DLLs. They are not installed in your GAC.
You usually get this warning when another application installed one of these DLLs directly in your GAC.
When the DLL is present in the GAC, your Windows operating system will prioritize that version of the DLL instead of the one packaged with the app.
If the version of the DLL in the GAC is outdated or different than the one packaged with the app, some functionality can be lost or the app can even cease to function.
Some of the most common DLLs affected are Microsoft.Sharepoint.Client.dll and Newtonsoft.Json.dll. They are usually installed in your GAC by a dev tool.
Note: Even though these are the most commonly affected DLLs, some apps could install other DLLs that affect the ShareGate migration tool in your GAC.
If you can uninstall the application that installed the DLL in your GAC, that should solve the issue.
However, there is no easy way to determine which DLL is affected and what application installed it in the GAC.
Install the ShareGate migration tool on another machine
Try to install the ShareGate migration tool on a different machine without the same apps or dev tools installed. This is the best solution for a faster resolution.
If you cannot install the app on another machine
If you are restricted to your current machine and unable to determine what app installed the DLL in the GAC, our support team can help you determine what DLL is affected.
This information can help find the application responsible for the the issue or it might be possible to update that DLL to solve the issue.
Note: It is very important to understand that though support can help you find out which DLL is affected, in a lot of cases they will not be able to find out what application is responsible for installing it in your GAC. We do not recommend that you remove DLLs from your GAC, especially if you work on a server. If you remove a DLL, it can make other applications unusable.