如何将引用程序集合合并为单个.dll for Dynamics CRM插件?
为了将第三方.dll合并到一个自定义Dynamics CRM插件(.dll)中,我已经遵循了我可以找到的与ILMerge
相关的每个指南,以便我可以使用该功能。如何将引用程序集合合并为单个.dll for Dynamics CRM插件?
我正在编写一个Dynamics CRM插件,它将采用.docx文档,填充一些信息,并向关联的实体添加注释(注释)。检索文档模板并创建注释工作正常。所以,我知道我的插件是健全的(注册和运行没关系)。
但是,一旦我尝试使用DocumentFormat.OpenXml
操纵我的文档模板,我得到Dynamics CRM中的错误:
无法加载文件或程序集“DocumentFormat.OpenXml,版本= 2.5.5631.0 .. .....”
做一些研究之后,我发现我需要的‘DocumentFormat.OpenXml.dll
合并’到我的插件.dll文件。
我安装MSBuild.ILMerge.Task
(和ILMerge)在VS2015。在构建过程中,我现在收到两条消息“传递合并”和“合并程序集:路径名称 \ my.dll; 路径名称 \ DocumentFormat.OpenXml.dll”。它似乎做我需要的。但是,当我用新的.dll更新插件时,我得到相同的“无法加载文件或程序集”错误消息。
我无法找到任何可以进一步帮助确保引用的DocumentFormat.OpenXml.dll实际合并到我的目标.dll文件的文档。
我无法找到任何文件,可以进一步帮助确保我引用的DocumentFormat.OpenXml.dll实际上被合并到我的目标.dll。
您可以使用任何反编译器(例如:dotPeek)来查看合并的dll &验证的内容。
当我用新的.dll更新插件时,我得到相同的“无法加载文件或程序集”错误消息。
而不是更新PRT中现有的插件,取消注册现有的&与合并的dll注册新的程序集。
不是更新的PRT现有的插件,注销现有及注册DLL合并后新的装配 –
你可以使用任何反编译看合并DLL和内容验证 –
@ArunVinoth,我删除了.dll和重建它。我用dotPeek来检查.dll以确保它包含DocumentFormat.OpenXml程序集。然后,我注销并重新注册.dll在插件注册工具,它一切工作!如果您想发布解除注册的答案并重新注册.dll,我会标记它。谢谢! – Rob