Specifically, we are trying to upgrade our telerik controls to the latest version. Unfortunately, the old DLL's are so old that many of the control properties have changed vastly so we've decided to upgrade only the telerik control that is giving us problems (the RadEditor control).
So the bin looks something like this:
RadChart.Net2.dll
RadEditor.Net2.dll (we want to get rid on only this one)
RadGrid.Net2.dll
RadInput.Net2.dll
RadPanelbar.Net2.d
RadSpell.NET2.dll
RadTabStrip.Net2.d
RadToolbar.Net2.dl
RadTreeView.Net2.d
RadUpload.Net2.dll
RadWindow.Net2.dll
Telerik.Web.UI.dll (this is the new DLL)
The problem is that all the namespaces and classes are the same from the old DLLs to the new one (Telerik.Web.UI).
Here is the specific error I am getting:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0433: The type 'Telerik.Charting.ChartSeries' exists in both 'c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\c6516654\63e1c826\assembly\dl3\9aa96a66\00ba04b3_fd85c701\RadChart.Net2.DLL' and 'c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\c6516654\63e1c826\assembly\dl3\8fdb0e6c\001aa55c_c4f9c901\Telerik.Web.UI.DLL'
I've considered GAC-ing the new DLL but I am uncertain that this will help the situation. Any help would be greatly appreciated.
Yes, you can split the namespace into multiple blocks (and hence files). Your classes will belong to the same namespace as long as they are declared in the namespace block with the same name.
If your two DLLs have the same name, you are going to have to rename them. Such as Assembly1. dll and Assembly2. dll.
Two classes with the same name can be created inside 2 different namespaces in a single program. Inside a namespace, no two classes can have the same name.
An assembly can contain multiple namespaces, because it can contain multiple logical groupings of objects and methods.
You can use extern aliases (tutorial and reference) to differentiate between them. It's pretty annoying to have to, admittedly - obviously avoid where you can, but at least C# provides a way round it :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With