이것은 실제로는 쉽지만, 난처한 상황입니다. 세 개의 어셈블리를 서로 참조 (예를 들어, 대리자 메서드의 알림 등록 또는 공용 메서드 호출), 모두 강력한 이름으로 서명 할 때까지 컴파일합니다. 다른 두 사람은 강력한 이름이 없기 때문에 나는 그 중 하나를 컴파일 할 수 없습니다. 내가 뭘 놓치고 있니? 세 가지 모두에 대해 강력한 이름을 만들었지 만 snk를 포함하고 컴파일 할 수는 없습니다.서로를 참조하는 세 어셈블리의 이름을 강력하게 지정합니다.
4
A
답변
4
세 가지 모두에 사용하려는 하나의 snk 파일을 만든 경우 프로젝트의 상황에 맞는 메뉴에서 기존 항목 추가를 선택하십시오.
snk 파일을 탐색 한 다음 추가 버튼 옆에있는 화살표를 클릭하여 "링크로 추가"를 선택하십시오.
프로젝트 속성에서 서명 탭에서 "어셈블리 서명"확인란을 선택한 다음 프로젝트에 방금 추가 한 키 파일을 선택하십시오.
그 트릭을해야합니다.
2
강하게 명명 된 어셈블리는 다른 강하게 명명 된 어셈블리 만 참조 할 수 있습니다. 당신이 강력한 이름의 어셈블리를 참조하면
, 당신은 버전 관리 및 보호 명명 같은 특정 혜택을받을 것으로 예상된다. 강력한 이름의 어셈블리는 다음이 혜택을받지 않는 간단한 이름으로 어셈블리 을 참조하는 경우, 당신은 당신이 강력한 이름의 어셈블리를 사용에서 파생와 DLL 충돌이 되돌릴 것 혜택을 잃게됩니다. 따라서 강력한 이름의 어셈블리는 다른 강력한 이름의 어셈블리 만 참조 할 수 있습니다.
MSDN에서 인용.
순환 종속성? – affan
내가 아는 누구도. – Shawn