내 프로젝트에서 이상한 동작이 발생했습니다. 다른 프로젝트의 몇 가지 양식을 받아야합니다. theese 형식의 논리에는 외부 DLL이 필요합니다. 그래서, 내가 양식을 copypasted, 참조를 추가하지만, "파일이나 어셈블리 또는 하나의 종속성을로드 할 수 없습니다."오류가 발생합니다. 그래서 몇 시간이 지나면 두 번째 프로젝트에서 참조를 삭제하여 내가 무엇을 놓쳤는 지 확인하기로 결정했습니다. 그리고 다시 참조를 추가 한 후에 나는 또한이 오류가 발생했습니다. 어떻게 이런 일이 일어날 수 있겠습니까? 첫 번째 프로젝트에서 일부 추가 링크가 누락되어 작동하지 않았지만 정확하지 않은 것으로 보입니다.VS에서 dll에 대한 참조 추가하기
답변
개발을 위해 Visual Studio를 사용하는 경우 프로젝트 참조에서 추가 된 모든 참조를 볼 수 있어야합니다.
참조 할 dll이 참조로 표시되는지 확인하십시오. 그런 다음 dll에서 데이터 나 개체를 호출 할 적절한 네임 스페이스를 가져 오는지 확인하십시오.
보려는 참조를 두 번 클릭하여 이름 공간을 볼 수 있습니다. 그것은 당신에게 모든 메소드의 목록과 객체 브라우저에있는 네임 스페이스를 제공해야합니다.
모든 것이 있으면 해결책을 정리 한 다음 전체 솔루션을 다시 작성하십시오.
제 잘못입니다. 삭제하기 전에 참조가 ActiveX 유형이고 추가 한 후 어셈블리 유형임을 확인하지 못했습니다. 하지만 어떻게 참조 유형을 변경할 수 있습니까? 참조 점이 정확히 동일한 파일. –
COM 참조로 추가 해보십시오. 일반 참조를 추가하는 것과 같은 방식으로 작업을 수행하지만 창이 파일을 선택하면 COM을 선택하는 옵션이 있어야하며 COM 라이브러리가 표시되어야합니다. 라이브러리가 COM 아래에 표시되지 않으면 등록해야합니다. –
은 외부 DLL을 출력 디렉토리에 복사합니까? –
예, 복사되었습니다. 또한 기존 경로에 대한 참조를 추가하려고했습니다. 어느 쪽도 효과가 없었다. –
MSBuild는 어셈블리에서 DLL을 사용하는 것을 볼 수 있으면 종속 DLL을 자동으로 복사합니다. 하지만 Reflection을 사용할 수 없거나 관리되지 않는 코드가 포함되어 있기 때문에 그렇지 않을 수도 있습니다. 일반적으로 빌드 후 이벤트에서 xcopy/d를 사용하여 직접 도와야합니다. –