Windows 응용 프로그램 내부에서 플러그인으로 사용할 .Net 구성 요소를 개발 중입니다. 이 플러그인은 regasm을 사용하여 클라이언트 시스템에 등록됩니다. 내 구성 요소는 대부분의 종속성을 포함하고 요청이있을 때 어셈블리를 AppDomain으로 반환합니다. 내 단일 DLL에 regasm을 실행하려고하면 폴더 내의 종속성을 찾을 수 없으므로 실패합니다. 이는 클라이언트 시스템에 구성 요소를 설치할 때 문제가됩니다.Regasm에서 임베디드 어셈블리를 찾을 수 없습니다.
regasm에게 임베디드 dll을 가져올 위치를 알려주는 방법이 있습니까? 내가 지금까지 시도했습니다 무엇
:
- 근처 다음 런타임 폴더에 하나의 DLL을 복사 DLL을 함께 구성 요소를 등록합니다. 내 구성 요소가 작동하고 dll이 런타임에 발견되지만 배치 옵션이 아닙니다.
ComRegisterFunctionAttribute를 사용하여 연결합니다. 이것은 dll이 근처에있을 때만 호출되므로 # 1보다 좋지 않습니다.
나는 regasm이 호출 될 사실에 대해 아무런 제어권이 없습니다. 난 내 구성 요소를 하나의 DLL을 만들지 만,이 문제를 해결할 수 있다면 상당히 쉽게 배포하게됩니다.
'regasm/codebase'을 사용해 보셨습니까? 그러면 COM 등록 항목 (레지스트리에 있음)에 어셈블리 파일의 경로가 저장됩니다. –
나는 regasm이 불행하게도 불려지는 방법에 대한 제어권이 없다. 그러나 regasm은 내 어셈블리를 찾는 데 아무런 문제가 없다. 어셈블리에 포함 된 어셈블리를 찾을 수 없으며, 어셈블리가 어디에 있는지 묻지 않습니다. – Ld00d
누구가 regasm을 부르는가? MSI 설치 프로그램? –