如何区分不同程序集中的两个命名空间?或者唯一的解决方案是为命名空间添加别名吗?
这里是完整的错误信息:
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)中都引用了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 中的Namespace为:System.Web.Routing Assembly: System.Web.Routing (in System.Web.Routing.dll)
- Visual Studio 2010 中的Namespace为:System.Web.Routing Assembly: System.Web (in System.Web.dll)
如果我删除System.Web.Routing的引用,则无法使用该命名空间中的类。