你如何允许两个DLL与同一namespace.class在同一个应用程序存在吗?(How do yo

2019-07-30 16:38发布

具体来说,我们正在努力为我们Telerik控制升级到最新版本。 不幸的是,旧的DLL的那么老,许多控件的属性已经巨大变化,所以我们已经决定只升级正在给我们的问题Telerik的控制(RadEditor控制)。

所以垃圾桶看起来是这样的:

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)

问题是,所有的命名空间和类是从旧的DLL到新的(Telerik.Web.UI)相同。

下面是我收到特定的错误:

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'

我认为GAC-ING新的DLL,但我不确定这会帮助的情况。 任何帮助将不胜感激。

Answer 1:

您可以使用的extern别名( 教程和参考 )来区分它们。 这是非常恼人的有,无可否认 - 显然避免在那里你可以,但至少C#提供了一个解决方法吧:)



文章来源: How do you allow two DLL's with same namespace.class to exist in the same application?