2016-11-24 5 views
0

Je suis en train de développer un plugin CRM Workflow pour appeler un serveur web. J'utilise ma propre DLL externe pour le webcall réel (en utilisant HttpClient) dans ce plugin que je fusionne en utilisant ILMerge pour qu'il soit inclus dans le plugin dll. Cela fonctionne, car je peux utiliser avec succès une méthode de la DLL une fois que j'ai exécuté le flux de travail sans échec.CRM Plugin impossible de faire une requête web dans une DLL tierce (après ILMerge)

Toutefois, lorsque j'essaie d'appeler une méthode dans la DLL qui exécute une requête Web, elle échoue avec un pointeur null. Si je copie le code dans son intégralité à mon plugin dll, la demande Web n'échoue pas. Les deux DLL sont signées (j'ai essayé les deux avec la même clé et différentes clés).

Qu'est-ce qui me manque? Je peux écrire du code si les gens le veulent, mais comme je l'ai dit, le même code fonctionne si je le copie directement dans ma source de plugin, et la DLL API externe fonctionne quand je l'utilise dans un projet de console. Il n'y a pas de fichier settings ou tout ce qui est lié à l'API ou au plugin.

Répondre

0

Si votre propre assembly externe fait référence à HttpClient, vous devez également inclure l'assembly System.Net.Http dans ILMerge. L'assembly fusionné doit contenir votre assembly plugin, votre assembly externe et l'assembly System.Net.Http.