2011-03-16 3 views
18

내 솔루션에서 프로젝트를 제거한 다음 나중에 다시 추가했습니다. 읽고 나서 .. 내가 제거 할 수없는 ambiguous reference 오류가 발생했습니다. (오류를 얻고있다) 클래스의 구현 내가보기를 보는 것은 두 번을 참조 :모호한 참조

> ClassName (myclass.Class) myclass.Class 
> ClassName (myclass.Class) myclass.Class, Version=1.0.0.0 

네임 스페이스가 한 번만 볼하지만,이 문제는 한 부분도 존재합니다.

편집 :

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyClass.Class.MyViewModel>" %> 

MyViewModel 내가 사용할 수있는 모든 클래스를 볼 경우 같은 중복 표시, 모호한 오류를주고있다 :

MyClass.Class.MyViewModel 
MyClass.Class.MyViewModel 
MyClass.Class.MyOtherViewModel 
MyClass.Class.MyOtherViewModel 

을하지만 같은 프로젝트의 다른 부분보기를 열 때 , 괜찮아. 중복 된 참조를 유지하는 것 같습니다.

어떻게 해결할 수 있습니까?

+2

모호한 제목 –

답변

43

솔루션을 마우스 오른쪽 단추로 클릭하고 Clean Solution을 (를) 해봤습니까?

+5

나는 여러 번 청소 ..하지만 그것은 그것을 정리하는 수동 청소했다.모두 고마워요 – nologo

+0

예이 문제를 해결하기 위해 매뉴얼을 써야했지만 감사합니다. – EllisChadwick

+1

이 답변의 위대한 수동 정리 지침 : http://stackoverflow.com/a/4744901/85662. – WhatIsHeDoing

-2

같은 이름과 동일한 네임 스페이스를 가진 두 개의 클래스가 있기 때문에이 오류가 발생합니다. 클래스 중 하나의 네임 스페이스를 변경해야합니다.

+0

아니요 .. 클래스는 한 번만 이름이 지정됩니다. 편집 – nologo

+0

을 참조하여 참조를 제거하고 프로젝트별로 참조하려고하는지 확인하십시오. –

+0

완료. 이상한 참조를 보유하고있는 유일한 1 부분보기. 내 컴퓨터를 재부 팅/솔루션을 청소/temp asp.net 폴더를 지웠다 – nologo

4

프로젝트에 동일한 어셈블리에 대한 두 개의 다른 참조가있는 것 같습니다.

그 중 하나를 제거하십시오.

1

이 오류 메시지가 잘못 표시되어 내 프로젝트가 몇 달 동안 계속 빌드되어 실행되었습니다. 누군가가 네임 스페이스의 다른 인스턴스에 대소 문자가 다른 네임 스페이스에 클래스를 넣었 기 때문에 실제로 두 개의 서로 다른 네임 스페이스 였기 때문입니다. 우리의 코드는 기술적으로 올바르지 만 ASPX <%@ Register %> 지시문은 "동일한"이름을 가진 두 개의 다른 심볼이 있기 때문에 모호하다고 불평했습니다. MyNamespaceMynamespace.

대문자를 확인하십시오.

1

다시 시도해 보셨습니까 (Visual Studio)? 그것은 나를 위해 일했다 ...

0

아마 당신의 프로젝트는 당신의 솔루션에있는 어셈블리에 대한 링크를 가지고 있고 또한 프로젝트 클래스는 참조 된 어셈블리의 네임 스페이스에 using 문을 가지고있다.

하나의 솔루션에 속한 프로젝트의 경우 프로젝트 간 링크를 제거하십시오.

0

두 개의 다른 버전을 참조한 경우에도 발생할 수 있습니다. 문제 프로젝트에서 어셈블리를 참조하고 동일한 참조이지만 다른 버전이있는 다른 프로젝트를 참조하는 경우 사용할 참조가 모호합니다.