2016-09-07 3 views
2

어떻게 다른 어셈블리에서 두 개의 네임 스페이스를 구별 할 수 있습니까? 유일한 해결책은 네임 스페이스에 별칭을 추가하는 것입니다. 여기해결 방법 'System.Web.Routing.RouteValueDictionary'형식이 모두에 있습니다.

는 VS 2010 년에 내가 .NET 3.5

를 사용하고 (그것이 여기에서 작동) 내가 비주얼 스튜디오 2008에서 이전 프로젝트 중 하나를 이동하는 것을 시도했다

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' 

전체 오류입니다

이전 버전의 System.Web.Routing을 참조 할 수 있지만 VS 2007 및 VS 2010에서 작동하지 않는 이유를 혼동합니다.

두 프로젝트 모두 (동일한 프로젝트이지만 VS의 다른 버전)

참조 C : \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ v3.5 \ System.Web.Routing.dll '에서 동일한 참조 dll (동일한 경로)을 참조 System.Web.Routing 참조

그리고 System.Web C 참조 : \ 윈도우 \ Microsoft.NET \ 프레임 워크 \ V2.0.50727이를 System.Web.dll

\ 는

나는 System.Web.Routing.RouteValueDictionary 있지만 오류처럼 전화를 시도했다 동일하게 유지됩니다.

  1. Visual Studio 2008 것이 네임 스페이스에 thaht

    그래서 문서는 말한다 : 조립을 System.Web.Routing : (System.Web.Routing.dll에서) System.Web.Routing는

  2. Visual Studio 2010 그것이 조립 System.Web.Routing : (를 System.Web.dll에) System.Web을

내가 그 네임 스페이스의 클래스를 사용하지 못할 것보다 내가 System.Web.Routing에 대한 참조를 제거하면 네임 스페이스입니다.

답변

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

은 참조를 확인하고도 깨끗한 솔루션을하고 다시 빌드합니다.

+2

내가 알레시에 관한 질문에 대한 링크를 공유하기위한 것보다. – 1392023093user

관련 문제