【发布时间】:2016-09-07 09:56:14
【问题描述】:
如何区分不同程序集中的两个命名空间? 还是唯一的解决方案是给命名空间添加别名?
这是一个完整的错误
The type 'System.Web.Routing.RouteValueDictionary' exists in both
'c:\Windows\assembly\GAC_MSIL\System.Web.Routing\3.5.0.0__31bf3856ad364e35\System.Web.Routing.dll'
and 'c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.dll'
我试图将一个旧项目从 Visual Studio 2008(它在这里工作)移动到 VS 2010。我正在使用 .net 3.5
我可以参考旧版本的 System.Web.Routing,但我很困惑为什么它在 VS 2008 中有效,而在 VS 2010 中无效
在两个项目中(相同的项目,不同版本的VS)
Reference System.Web.Routing 引用相同的 dll(具有相同的路径)`C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Web.Routing.dll'
并引用 System.Web C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Web.dll
我尝试将其称为 System.Web.Routing.RouteValueDictionary 但错误仍然相同。
所以文档说
- Visual Studio 2008 在命名空间中:System.Web.Routing 程序集:System.Web.Routing(在 System.Web.Routing.dll 中)
- Visual Studio 2010 在命名空间中:System.Web.Routing 程序集:System.Web(在 System.Web.dll 中)
如果我删除对 System.Web.Routing 的引用,我将无法使用该命名空间中的类。
【问题讨论】:
标签: c# visual-studio-2010 visual-studio-2008