如何部署插件使用的实用程序 DLL?

How to deploy a utility DLL that is used by plugins?

我进入了一个使用架构的项目,其中所有实用程序 类 都存储在与插件相同的项目中。只要只有几个具有不同实用程序的插件就可以了。

然而,我注意到随着插件数量的增加,许多单独的实用程序 类 重叠。所以,我想把所有的实用程序都放到一个单独的项目中。我担心一旦我离开客户,维护起来会太复杂,因为他们在技术上不热衷。

到目前为止,我得到的最佳解决方案是 following this blog 促进 ILMerge。但是,我想知道是否有更简单的方法。最佳方法是,如果我可以通过上传 CRM "see" 实用程序 DLL。我能以某种方式注册插件可以引用的非插件、不可执行的 DLL 吗?

不,如果您使用的是 CRM Online,则不支持。

如果您是 运行 CRM On-Premises,您可以将实用程序 DLL 部署到磁盘或在 GAC 中注册它们。在任何一种情况下,您都需要确保在每个 CRM 服务器上更新它们 - 如果有多个。