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

DNN > Troubleshooting
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