컴파일러 오류 CS1703

업데이트: 2007년 11월

오류 메시지

단순한 이름 'name'이(가) 있는 어셈블리를 이미 가져왔습니다. 참조 중 하나를 제거하거나 side-by-side를 사용할 수 있도록 서명하십시오.
An assembly with the same simple name 'name' has already been imported. Try removing one of the references or sign them to enable side-by-side.

컴파일러에서는 동일한 경로 및 파일 이름을 가진 참조를 제거하지만 동일한 파일이 서로 다른 두 위치에 있는 경우나 사용자가 실수로 버전 번호를 변경하지 않은 경우에는 문제가 생깁니다. 이 오류는 두 개의 참조가 동일한 어셈블리 ID를 가지므로 컴파일러가 메타데이터에서 이 둘을 구별하지 못함을 나타냅니다. 중복 참조 중 하나를 제거하거나 어셈블리 버전 번호를 증분하는 등의 방법으로 참조를 고유하게 만듭니다.

다음 코드에서는 CS1703 오류가 발생하는 경우를 보여 줍니다.

예제

이 코드에서는 .\bin1 디렉터리에 어셈블리 A를 만듭니다.

이 예제를 CS1703a1.cs라는 파일에 저장하고 /t:library /out:.\bin1\cs1703.dll /keyfile:key.snk 플래그를 사용하여 컴파일합니다.

using System;
public class A { }

이 코드에서는 .\bin2 디렉터리에 어셈블리 A의 사본을 만듭니다.

이 예제를 CS1703a2.cs라는 파일에 저장하고 /t:library /out:.\bin2\cs1703.dll /keyfile:key.snk 플래그를 사용하여 컴파일합니다.

using System;
public class A { }

이 코드에서는 이전의 두 모듈에 있는 어셈블리 A를 참조합니다.

이 예제를 CS1703ref.cs라는 파일에 저장하고 /t:library /r:A2=.\bin2\cs1703.dll /r:A1=.\bin1\cs1703.dll 플래그를 사용하여 컴파일합니다.

extern alias A1;
extern alias A2;