컴파일러 오류 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();
}
}