CRM插件无法在第三方DLL中执行Web请求(在ILMerge之后)

时间:2016-11-24 15:36:34

标签: plugins dynamics-crm-2011 workflow crm ilmerge

我正在开发一个CRM Workflow插件来调用Web服务器。我使用自己的外部DLL在我使用ILMerge合并的插件中使用我自己的外部DLL(使用HttpClient),以便它包含在插件dll中。这是有效的,因为一旦我运行工作流而没有失败,我就可以成功地使用DLL中的方法。

但是,当我尝试在DLL中调用执行Web请求的方法时,它会因null指针而失败。如果我将其中的代码全部复制到我的插件dll,则Web请求不会失败。这两个DLL都已签名(我已尝试使用相同的密钥和不同的密钥)。

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

1 个答案:

答案 0 :(得分:0)

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