Dynamics crm 2011 CRM 2011如何在沙盒模式下加载和管理插件?

Dynamics crm 2011 CRM 2011如何在沙盒模式下加载和管理插件?,dynamics-crm-2011,Dynamics Crm 2011,我有两个插件程序集,它们共享由crmsvcutil生成的代理代码。代理代码文件往往很大(14+MB),并且似乎会使插件DLL膨胀 我认为将代理代码偏移到一个单独的程序集中并将其部署到CRM服务器上的GAC可能是有意义的。这将减少插件程序集中的膨胀,并减少内存占用,因为只有一个代理代码副本会加载到进程空间中 问题是,CRM如何加载单个插件程序集? 它们都加载到同一进程空间还是加载到单独的应用程序域 如果它们被加载到单独的应用程序域中,那么它就无法实现包含生成的代理代码的单独程序集的目的,因为无论如

我有两个插件程序集,它们共享由crmsvcutil生成的代理代码。代理代码文件往往很大(14+MB),并且似乎会使插件DLL膨胀

我认为将代理代码偏移到一个单独的程序集中并将其部署到CRM服务器上的GAC可能是有意义的。这将减少插件程序集中的膨胀,并减少内存占用,因为只有一个代理代码副本会加载到进程空间中

问题是,CRM如何加载单个插件程序集? 它们都加载到同一进程空间还是加载到单独的应用程序域

如果它们被加载到单独的应用程序域中,那么它就无法实现包含生成的代理代码的单独程序集的目的,因为无论如何,它将被单独加载到两个应用程序域中


我无法直接回答您的问题,但如果问题出在膨胀上,那么crmsvcutil有许多扩展,允许您过滤生成的类文件,使其仅包含您希望使用的实体。我以前也这样做过(在以前的一家公司,后来失去了source.Grrr!)并获得了成功,实现了一个只有几kb而不是mb的类文件


快速的谷歌搜索把我带到

有什么特别的原因让你定义了多个插件程序集,而不是将它们封装在一个程序集中?很有趣。问题是找出所有实体/相关实体的列表,以此类推,以生成一个最低限度的代理。这本身就成为维护/管理方面的难题。我的想法是通过打开代理代码来共享代理代码,但我遇到的问题是插件注册工具不喜欢引用这个自定义程序集中定义的代理类型,并且不会注册插件。有没有办法做到这一点?