3

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

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

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

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

任何想法表示赞赏

4

1 回答 1

2

我无法直接回答您的问题,但如果问题是膨胀,那么 crmsvcutil 有许多扩展,可以让您过滤生成的类文件以仅包含您希望使用的实体。我以前做过(在以前的公司,后来丢失了源代码。Grrrr!)成功地实现了一个几 kb 而不是 mb 的类文件。

一个快速的谷歌搜索带我到... http://fourbusyxrmarchitects.wordpress.com/2012/08/09/filtering-the-list-of-early-bound-classes-generated-by-the-code-generation-工具-crmsvcutil-for-crm-2011-2/

于 2013-04-18T09:32:31.147 回答