5

In particolare, stiamo cercando di aggiornare i nostri controlli telerik alla versione più recente. Sfortunatamente, le vecchie DLL sono così vecchie che molte delle proprietà di controllo sono cambiate molto, quindi abbiamo deciso di aggiornare solo il controllo telerik che ci sta dando problemi (il controllo RadEditor).Come si consentono a due DLL con lo stesso namespace.class di esistere nella stessa applicazione?

Così il bidone sembra qualcosa di simile:

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) 

Il problema è che tutti gli spazi dei nomi e le classi sono le stesse dalle vecchie DLL a quello nuovo (Telerik.Web.UI).

Ecco l'errore specifico sto ottenendo:

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' 

Ho considerato GAC-zione la nuova DLL ma sono incerto che questo aiuterà la situazione. Qualsiasi aiuto sarebbe molto apprezzato.

risposta

10

È possibile utilizzare gli alias esterni (tutorial e reference) per distinguere tra di essi. È abbastanza fastidioso dover, ovviamente, evitare dove possibile, ma almeno C# fornisce un modo per aggirarlo :)

+0

Sembra che questa sia un'ottima soluzione, ma stiamo usando un sito web (quindi non possiamo fare alias DLL - tutto è solo nel cestino). – sestocker

+0

Hmm ... puoi cambiare il tipo di progetto in modo da avere una normale lista di "riferimenti"? O ci può essere un modo per configurare il riferimento in web.config ... –

+0

puoi scrivere una dll nella cartella bin che a sua volta usa alias per altre DLL? – Dexters