I realize I should have also included the conflict error:
DotNetNuke.Services.Exceptions.ModuleLoadException: c:\inetpub\wwwroot\DNN 7.4.2\DesktopModules\Admin\AdvancedSettings\LanguagePacks.ascx.cs(87): error CS0433: The type 'ICSharpCode.SharpZipLib.Zip.ZipInputStream' exists in both 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\dnn7\41b01965\f60bcc09\assembly\dl3\6d425c31\7ac2430b_2d39d201\ICSharpCode.SharpZipLib.DLL' and 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\dnn7\41b01965\f60bcc09\assembly\dl3\29e27b4d\00ca644c_7afbd001\SharpZipLib.DLL'
I'll also note that I did clear the temp folders, but that didn't help; they were just recreated when the site was compiled.
But I believe I found a solution. I put the old SharpZipLib.dll in its own folder inside the bin directory. (So, bin/SharpZipLib/SharpZipLib.dll). Then I added this to web.config, in the configuration/runtime/assemblyBinding section:
<dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="ICSharpCode.SharpZipLib" />
<codeBase version="0.81.0.1407" href="SharpZipLib/SharpZipLib.dll" />
</dependentAssembly>
I left the ICSharpCode.SharpZipLib.dll in the bin directory. Things seem to be working now.