Ambiguous in the namespace problem
From the last few days, I was ignoring an error that keep coming at the compile time. I spent some two hours on it before but didn’t get it work. The error is quit confusing and of course difficult to manage.
'ApplicationSettingsBase' is ambiguous in the namespace 'System.Configuration'
'MailMessage' is ambiguous in the namespace 'System.Net.Mail'
And there are couple of other similar errors that is pointing to some ambiguous references in my project. The confusing part is that the MailMessage object throws similar error when you are importing the old and new email namespace.
For example,
Imports System.Web.Mail
Imports System.Net.Mail
So if you are only encountering ambiguous problem in MailMessage object. It is more possible that you have define both the namespaces in your code behind which is actually confusing the compiler about your referencing object.
The quick solve for this problem is that remove Imports System.Web.Mail and it should work smooth. But with me, I never used the old asp.net mail namespace in my project.
Then I start looking at my references and luckily I found the problem there. Follow the steps below to investigate the issue
1. Go to your project
2. Then references
3. Right click on “System” and see properties. it should point to the following path
x:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll
Where x is name of your operating system directory. This was the problem with my project. I had my operating system install on “D” drive and some how it is pointing to “C” drive which is the root cause of this problem.
After that I verify all my references and found 5 –6 assemblies that are pointing to wrong path and get it worked.
Also note, the problem can occur in any type of project either it is website , web application etc.