2016-11-24 49 views
0

我正在开发一个CRM工作流程插件调用Web服务器。我使用自己的外部DLL作为插件中的实际webcall(使用HttpClient),我使用ILMerge进行合并,以便将它包含在插件dll中。这是有效的,因为一旦我运行工作流程而不失败,我就可以成功地使用DLL中的方法。CRM插件无法做到在第三方DLL web请求(后ILMerge)

但是,当我尝试调用执行Web请求的DLL中的方法时,它会失败并显示空指针。如果我将整个代码复制到我的插件DLL中,则Web请求不会失败。这两个DLL都是有符号的(我用相同的密钥和不同的密钥尝试过)。

我错过了什么?如果人们想要,我可以发布代码,但正如我所说的,如果直接将它复制到我的插件源中,并且外部API DLL在控制台项目中使用时可以工作,那么相同的代码将起作用。没有设置文件或与api或插件相关的任何内容。

回答

0

如果您自己的外部程序集引用了HttpClient,则还应该在ILMerge中包含System.Net.Http程序集。合并的程序集应包含您的插件程序集,外部程序集和System.Net.Http程序集。