Most often you want your customsolution to be deployed to only a specific webapplication but SharePoint won’t allow it.
It’s actually very easy to fix this by tricking SharePoint.
In your package manifest you add a safe control:
<Assembly Location=”dll_name_of_your_solution.dll” DeploymentTarget=”GlobalAssemblyCache”>
<SafeControl Assembly=”dll_name_of_your_solution,Version=18.104.22.168,Culture=neutral, PublicKeyToken=****************” Namespace=”namespace_of_your_solution” TypeName=”*” />