我有2个插件程序集,它们共享crmsvcutil生成的代理代码。代理代码文件往往很大(14+ MB),它似乎膨胀了Plugin Dlls。
我认为将代理代码偏移到单独的程序集中并将其部署到CRM服务器上的GAC可能是有意义的。这将减少插件程序集中的膨胀并减少内存占用,因为只有一个代理代码的副本将被加载到进程空间。
问题是,CRM如何加载单个插件程序集? 它们是否都加载到相同的进程空间中,还是加载到单独的应用程序域中?
如果它们被加载到单独的应用程序域中,那么它就会失去包含生成的代理代码的单独程序集的目的,因为无论如何它将被单独加载到两个应用程序域中。
赞赏任何想法
答案 0 :(得分:2)
我无法直接回答您的问题,但如果膨胀是问题,那么crmsvcutil有很多扩展,允许您过滤生成的类文件,只包含您想要播放的实体用。我之前已经这样做了(在以前的公司,并且已经失去了源头.Grrr!)成功,实现了几kb而不是mb的类文件。