The Global Assembly Cache (GAC) is a group of EXE (executable) and DLL (Library) files that .Net Framework applications like ShareGate Migrate use.
The GAC is part of your Windows operating system.
Symptoms
You get the following warning in ShareGate Migrate:
Another version of a DLL in your Global Assembly Cache (GAC) is prioritized over a DLL packaged and used by ShareGate Migrate. This might prevent some features from working as expected.
Details
ShareGate Migrate 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 ShareGate Migrate in your GAC.
Solution
If you can uninstall the application that installed the DLL in your GAC, that should solve the issue.
However, it is not easy to determine which DLL is affected and what application installed it in the GAC.
Install ShareGate Migrate on another machine
Try to install ShareGate Migrate 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 determine which DLL is affected, in many cases, they will not be able to find out what application is responsible for installing it in your GAC. We do not recommend removing DLLs from your GAC, especially if you work on a server. If you remove a DLL, it can make other applications unusable.