자식 DLL의 출력 경로를 라이브러리를 가리 키도록 변경할 수 있습니다.
그러나 이것은 .Net에서 DLL 확인을 위해 런타임에 프로브하는 표준 경로가 아니므로이 위치에서 수동으로로드하지 않으면 배포 할 때 문제가 발생할 수 있습니다.
프로젝트 참조가 로컬 복사로 표시된 경우 Visual Studio에서 구성을 통해 파일을 복사하는 디렉터리를 변경할 수 있다고 생각하지 않습니다.
그러나 각 빌드 후에 파일을 원하는 하위 디렉토리로 자동 이동하는 빌드 후 명령을 설정할 수 있습니다. 그것은 매일 새로운 것을 배우고 나를 수 있기 때문에
업데이트는이 사이트를 사랑 해요. 예를 들어, 표준 탐색 경로에 경로를 추가하기 위해 구성 파일에 추가 할 수있는 probing element을 발견했습니다.
이 구성 요소를 사용하면 .NET에서 libraries
폴더를 검색하여 DLL을로드 할 수 있으므로 추가 작업을 수행 할 필요가 없습니다. (여전히 postbuild를 사용하여 해당 디렉토리로 이동해야합니다. 명령). 저도 같은 문제가
<configuration>
<runtime>
<assemblyBinding>
<probing privatePath="bin\libraries"/>
</assemblyBinding>
</runtime>
</configuration>
예 나는 알고 있지만 나는이 경로를 바꾸고 싶지 않다. 해당 dll 파일의 사본이 두 개 있습니다. 그들은 프로젝트 디렉토리에 있습니다. VS는 내가 바꾸고 싶은 메인 프로젝트에서 VS를 수행하고 있습니다. – nosbor
@nosbor - 왜죠? 올바른 위치는 응용 프로그램 자체입니다. 복사본이 2 개인 이유는 Visual Studio 때문입니다. 설치 프로그램 솔루션을 설치하고 프로그램을 설치 한 경우 각 프로그램의 사본 한 부를 가져야합니다. 지적한대로 표준 동작이 아니므로 파일을로드해야하고 Visual Studio를 사용하여 파일을 참조해야합니다. 두 개의 복사본이있는 유일한 이유는 동일한 컴퓨터에 솔루션을 구축하기 위해서입니다. 당신이 이것을 바꿀만한 이유는 어리 석다. –
정상적인 동작이 없으며 현재 정상적으로 작동 중입니다. 보기...모든 od dll 프로젝트는 자신의/bin/Debug 디렉토리에 자신의 dll 컴파일 된 어셈블리가 있고 그 외에 VS는 해당 어셈블리를 기본 프로젝트/bin/Debug 폴더에 복사합니다. 그리고 그것을/bin/Debug/Libraries로 변경하고 싶습니다. – nosbor