2016-11-24 7 views
0

웹 서버를 호출하는 CRM 워크 플로 플러그인을 개발하고 있습니다. 내 플러그인을 HttpClient를 사용하여 내 자신의 외부 DLL을 사용하여 ILMerge를 사용하여 병합하므로 플러그 인 dll에 포함됩니다. 실패하지 않고 워크 플로를 실행하면 DLL의 메서드를 성공적으로 사용할 수 있으므로이 방법이 효과적입니다.CRM 플러그인이 타사 DLL (ILMerge 이후)에서 웹 요청을 수행 할 수 없습니다.

그러나 웹 요청을 수행하는 DLL에서 메서드를 호출하려고하면 nullpointer가 실패합니다. 그 코드를 내 플러그인 dll로 복사하면 웹 요청이 실패하지 않습니다. 두 DLL은 모두 서명되어 있습니다 (동일한 키와 다른 키를 사용하여 시도했습니다).

무엇이 누락 되었습니까? 사람들이 원한다면 코드를 게시 할 수 있지만, 내가 말했듯이 플러그인 소스에 직접 복사하면 동일한 코드가 작동하고 콘솔 프로젝트에서 외부 API DLL을 사용할 때 작동합니다. api 나 plugin과 관련된 설정 파일이나 내용이 없습니다.

답변

0

외부 어셈블리가 HttpClient를 참조하는 경우 ILMerge에 System.Net.Http 어셈블리도 포함시켜야합니다. 병합 된 어셈블리에는 플러그인 어셈블리, 외부 어셈블리 및 System.Net.Http 어셈블리가 있어야합니다.

관련 문제