여러 응용 프로그램에서 사용할 DLL을 만들고 프로그램 파일에 설치하고 전역 어셈블리 캐시에 추가하는 설치 관리자 패키지를 만들었습니다.dll 상속에 관한 문제
dll 자체는 log4net을 사용하며 로깅 정의를위한 xml 파일이 필요합니다. 설치 프로그램이 실행될 때
은 따라서 다음 파일 프로그램 파일 내에 설치 디렉토리에 복사됩니다 : 내가 을 개발 주요 DLL - Log4Net.dll -
내가 오전 Log4Net.xml 파일 지금 문제가 발생했습니다. 실험을위한 테스트 콘솔 애플리케이션을 만들었습니다. 내 dll을 참조로 추가하고 '로컬 복사본'플래그를 false로 설정합니다.
그러나 테스트 콘솔 exe를 컴파일 할 때 log4net.dll 및 log4net.xml 파일이 bin 디렉토리에 복사 된 것으로 나타났습니다. 그리고 테스트 콘솔을 실행할 때 log4net.dll이 exe와 같은 디렉토리에있는 경우에만 작동하는 것으로 보입니다. 이것은 테스트 콘솔 어플리케이션이 log4net을 사용하지 않는다는 사실을 나타냅니다. 참조로 추가 된 dll만이 사용됩니다.
log4net.dll & xml 파일이 로컬 복사본을 통해 복사해야하는 응용 프로그램이 아닌 프로그램 파일에 설치된 파일이되도록 몇 가지 방법이 있습니까? 내 DLL을 사용하는 응용 프로그램은 log4net을 사용하지 않고 참조하는 dll 만 사용합니다.
많은 감사
불행히도 DLL의 로컬 복사본을 사용하는 것은 옵션이 아닙니다. 클라이언트가 실행할 수있는 독립 실행 형 exe를 원하기 때문에 프로젝트의 요구 사항 때문입니다. 그래서 내 DLL을 GAC에 추가했습니다. – Adam
그건 돼지 립스틱이에요. 그것은 독립 실행 형 exe가 아닌 * GAC에 어셈블리가 필요하고 XML 파일을 구성하는 어딘가에 있어야합니다. "독립 실행 형 exe"를 갖는 유일한 요점은 설치 프로그램이 필요 없다는 것입니다. 그것은 날지 않을 돼지 다. –
호스트 시스템의 임의의 디렉토리에서 실행될 수있는 독립형이어야합니다. 클라이언트는 exe 파일과 지원되는 DLL/xml 파일로 가득 찬 디렉토리가 아닌 실행 가능한 exe로 가득 찬 깨끗한 디렉토리를 원합니다. 실제로 log4net.dll을 GAC에 추가하여 실제로 작동 시켰습니다. 단, x4 파일을 가져 오지 않는 문제가 있습니다. 그러나 앞으로 나아갈 단계입니다. 나는 그것이 최상의 해결책이 아닐지도 모른다는 생각에 동의합니다. 그러나 그것은 내 디자인이 아니며 고객이 원하는 프레임 워크에 국한됩니다. 많은 분들께 감사드립니다. – Adam