The Global Assembly Cache (GAC) is a group of EXE (executable) and DLL (Library) files that .Net Framework applications like ShareGate Desktop use.
The GAC is part of your Windows operating system.
IMPORTANT: ShareGate Desktop 14.1 introduced the use of a more recent version of .NET. This change has caused this warning to appear even though there is no real impact to ShareGate Desktop.
We are working on a patch to resolve this problem.
In the meantime, you can safely ignore this warning unless you experience one of the following issues:
- The application crashes at startup or when you perform certain actions.
- You get Method not found errors.
Symptoms
You get the following warning in ShareGate Desktop:
Another version of a DLL in your Global Assembly Cache (GAC) is prioritized over a DLL packaged and used by ShareGate Desktop. This might prevent some features from working as expected.
Details
ShareGate Desktop 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 Desktop in your GAC.
Solution
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 ShareGate Desktop on another machine
Try to install ShareGate Desktop 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.