我有 2 个插件程序集,它们共享 crmsvcutil 生成的代理代码。代理代码文件往往很大(14+ MB),并且似乎使插件 Dll 膨胀。
我认为将代理代码偏移到单独的程序集中并将其部署到 CRM 服务器上的 GAC 可能是有意义的。这将减少插件程序集中的膨胀并减少内存占用,因为只有一个副本代理代码将被加载到进程空间中。
问题是,CRM 如何加载单个插件程序集?它们是全部加载到同一个进程空间还是加载到单独的应用程序域中?
如果它们被加载到单独的应用程序域中,那么它会破坏包含生成的代理代码的单独程序集的目的,因为无论如何它将被单独加载到两个应用程序域中。
任何想法表示赞赏