2016-09-07 123 views
2

中存在的类型'System.Web.Routing.RouteValueDictionary'如何在两个Assemblyes中使两个名称空间变得不同? 或者唯一的解决方案是添加别名到名称空间?如何解决

这是一个完整的错误

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(它在这里工作)至2010年VS我使用.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 \框架\ V2.0.50727 \ System.Web.dll中

我曾试图把它像System.Web.Routing.RouteValueDictionary但错误保持不变。

所以文件说thaht为

  1. Visual Studio 2008它在命名空间:System.Web.Routing 大会:System.Web.Routing(在System.Web.Routing.dll)
  2. Visual Studio 2010这是在命名空间:System.Web.Routing 集:System.Web(在System.Web.dll中)

如果我删除了System.Web.Routing参考比我不能在命名空间中使用类。

回答