Share via


컴파일러 오류 CS1704

업데이트: 2007년 11월

오류 메시지

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

이 오류는 해당 어셈블리에 강력한 이름이 없고 서명되지 않아 컴파일러가 메타데이터에서 둘 간을 구별하지 못함으로써 두 개의 참조가 동일한 어셈블리 ID를 가지는 경우에 발생합니다. 그 결과 런타임에서는 버전 및 문화권 어셈블리 이름 속성을 무시합니다. 사용자는 중복 참조를 제거하고 참조 중 하나의 이름을 바꾸거나 강력한 이름을 지정해야 합니다.

예제

이 샘플에서는 어셈블리를 만들고 루트 디렉터리에 저장합니다.

// CS1704_a.cs
// compile with: /target:library /out:c:\\cs1704.dll
public class A {}

이 샘플에서는 이전 샘플과 같은 이름의 어셈블리를 만들고 다른 위치에 저장합니다.

// CS1704_b.cs
// compile with: /target:library /out:cs1704.dll
public class A {}

이 샘플에서는 두 어셈블리를 모두 참조합니다. 다음 샘플에서는 CS1704 오류가 발생하는 경우를 보여 줍니다.

// CS1704_c.cs
// compile with: /target:library /r:A2=cs1704.dll /r:A1=c:\\cs1704.dll
// CS1704 expected
extern alias A1;
extern alias A2;