ERROR: "X" is ambiguous in the Namespace "Y" in DNN

Error Stating 'Item X' is Ambiguous in the Namespace 'Y'

Issue
You receive an error similar to the one below indicating that some object is ambiguous in a namespace.
 
Error: File Manager is not available.
DotNetNuke.Services.Exceptions.ModuleLoadException:
C:\Inetpub\vhosts\site.org\httpdocs\DesktopModules\Admin\FileManager\FileMa
nager.ascx.vb(698): error BC30560: 'ZipEntry' is ambiguous in the namespace
'ICSharpCode.SharpZipLib.Zip'. ---> System.Web.HttpCompileException:
C:\Inetpub\vhosts\sifco.org\httpdocs\DesktopModules\Admin\FileManager\FileMa
nager.ascx.vb(698): error BC30560: 'ZipEntry' is ambiguous in the namespace
'ICSharpCode.SharpZipLib.Zip'.
 
Possible Causes
  • You have two versions of the the same DLL that are being loaded.
  • A programmer gave a component an ambiguous name which is causing a naming conflict with a different component.
  • Code in a DLL is conflicting with a similarly named piece of code located in the /APP_CODE/ folder.
Resolution
You will need to uninstall the offending component from your DotNetNuke website.  Depending on the severity of the issue, you may have to perform a manual removal of the component in order to get the website up and running again.

Identify the Offending Code
  • Open the \BIN\ folder in your website and look for similarly named DLLs.  For example, if you have a DLL named SharpZLIB.dll and one named ICSharpCode.SharpZLIB.dll, that is most likely the cause of the conflict.
  • Open the \BIN\ folder in your website and compare it to entries in the \APP_CODE\ folder in your website.  For example, if you receive an error saying DataProvider is ambiguous in the namespace DotNetNuke.Modules.HTML. Then a common issue is to see is a \BIN\DotNetNuke.Modules.HTML.dll file as well as a \APP_CODE\HTML folder
Identify Which Component Should be Removed
Typically in a situation like this, you must decide which component you want to break.  These are our recommendations:
  • If a component is conflicting with itself, it is generally a good idea to remove the oldest component (most components will still work if you provide them a newer DLL)
  • If a component is conflicting with a different component, it is generally a good idea to remove the newest component (the component you just installed) and contact the vendor for a fix.
 
Remove the Offending Component
If you are removing a DLL from the /BIN/ folder, move it to a new folder named /BIN_BAD/
If you are removing a folder from the /APP_CODE/ folder, move it to a new folder named /APP_CODE_BAD/ .  When removing a folder from APP_CODE, you will also have to edit the web.config file in order to comment out the Code Sub Directory.

Add Feedback