如何在不同的程序集中命名两个名称空间? 或者唯一的解决方案是在命名空间中添加别名?
这是一个完整的错误
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,但错误仍然相同。
所以文档说明了
如果我删除System.Web.Routing的引用,而不能使用该命名空间中的类。
答案 0 :(得分:1)
您似乎引用了旧程序集。在某些时候,RouteValueDictionary被移动到System.Web.dll中。比较这些:
https://msdn.microsoft.com/en-us/library/system.web.routing.routevaluedictionary(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.web.routing.routevaluedictionary(v=vs.90).aspx
检查您的参考文献,并清理和重建解决方案。