.net 래퍼 DLL과 기본 DLL을 사용하는 C# 프로젝트 A가 있습니다. .net 래퍼 DLL을 프로젝트 A의 참조 목록에 추가합니다. 래퍼 DLL은 동일한 폴더에있을 때만 네이티브 DLL과 작동하므로 네이티브 DLL은 프로젝트 A의 출력 디렉터리에 복사해야합니다. 네이티브 DLL을 프로젝트 A의 컨텐트 파일로 추가하고 더 새로운 경우 복사 작업을 설정합니다. 이건 괜찮아.기본 DLL이 출력 디렉토리에 복사되지 않는 이유
C 프로젝트 B가 프로젝트 A를 직접 참조하면 VS는 프로젝트 A에서 사용하는 모든 종속 파일을 프로젝트 B의 출력 디렉터리로 복사합니다. 즉, 래퍼 DLL과 기본 DLL이 프로젝트 B의 출력에 복사됩니다 디렉토리뿐만 아니라. 이것은 잘 작동합니다.
그럼 프로젝트 B를 프로젝트 A가 아니라 프로젝트 C 만 직접 참조하는 C 프로젝트 C가 있습니다. VS가 프로젝트 C의 출력 디렉토리에 원시 DLL을 복사하지 않는다는 것을 보는 것이 흥미 롭습니다. 프로젝트 C가 프로젝트 B의 기능을 사용하고 래퍼 DLL과 함께 작동하도록 네이티브 DLL을 찾으면 찾지 못할 것입니다.
누군가 VS가 네이티브 DLL을 프로젝트 C의 출력 디렉토리에 복사하지 않는 이유를 설명 할 수 있습니까? VS에서 체인 종속 파일을 복사하는 메커니즘은 무엇입니까? 많은 감사합니다.
는 "(우리가 여기 EXE하지 웹 사이트에 대해 얘기) EXE 파일에 파일을 추가하는 방법에 대한 구체적인 수 복사 출력으로 "? 많은 감사합니다. – Steve
exe 프로젝트에서 필요한 배포 파일을 반복해서 출력물에 복사하도록 표시해야합니다. –