Share via


컴파일러 오류 CS0433

업데이트: 2007년 11월

오류 메시지

TypeName1 형식이 TypeName2 및 TypeName3에 모두 있습니다.
The type TypeName1 exists in both TypeName2 and TypeName3

응용 프로그램에서 참조된 두 개의 서로 다른 어셈블리에 같은 네임스페이스와 형식이 들어 있어서 모호성 문제가 있습니다.

이 오류를 해결하려면 /reference(메타데이터 가져오기)(C# 컴파일러 옵션) 컴파일러 옵션의 별칭 기능을 사용하거나 어셈블리 중 하나를 참조하지 마십시오.

예제

이 코드는 모호한 형식의 첫 번째 사본을 사용하여 DLL을 만듭니다.

// CS0433_1.cs
// compile with: /target:library
namespace TypeBindConflicts 
{
   public class AggPubImpAggPubImp {}
}

이 코드는 모호한 형식의 두 번째 사본을 사용하여 DLL을 만듭니다.

// CS0433_2.cs
// compile with: /target:library
namespace TypeBindConflicts 
{
   public class AggPubImpAggPubImp {}
}

다음 예제에서는 CS0433 오류가 발생하는 경우를 보여 줍니다.

// CS0433_3.cs
// compile with: /reference:cs0433_1.dll /reference:cs0433_2.dll
using TypeBindConflicts;
public class Test 
{
   public static void Main() 
   {
      AggPubImpAggPubImp n6 = new AggPubImpAggPubImp();   // CS0433
   }
}

다음 예제에서는 /reference 컴파일러 옵션의 별칭 기능을 사용하여 CS0433 오류를 해결하는 방법을 보여 줍니다.

// CS0433_4.cs
// compile with: /reference:cs0433_1.dll /reference:TypeBindConflicts=cs0433_2.dll
using TypeBindConflicts;
public class Test 
{
   public static void Main() 
   {
      AggPubImpAggPubImp n6 = new AggPubImpAggPubImp();
   }
}