如何解决“类型'System.Web.Routing.RouteValueDictionary'存在于两个程序集中”的问题

3

如何区分不同程序集中的两个命名空间?或者唯一的解决方案是为命名空间添加别名吗?

这里是完整的错误信息:

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这样调用它,但错误仍然存在。

因此,文档显示:

  1. Visual Studio 2008 中的Namespace为:System.Web.Routing Assembly: System.Web.Routing (in System.Web.Routing.dll)
  2. Visual Studio 2010 中的Namespace为:System.Web.Routing Assembly: System.Web (in System.Web.dll)

如果我删除System.Web.Routing的引用,则无法使用该命名空间中的类。

1个回答

2

2
谢谢分享那些我已经在问题中提到的链接。 - 1392023093user

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接