Dynamics crm 2011 Dynamics CRM 2011-每个与不同实体相关的插件都必须有它吗';她自己的集会?

Dynamics crm 2011 Dynamics CRM 2011-每个与不同实体相关的插件都必须有它吗';她自己的集会?,dynamics-crm-2011,crm,microsoft-dynamics,Dynamics Crm 2011,Crm,Microsoft Dynamics,我正在创建一系列相关的插件。每个插件针对不同的实体。每个插件都必须有自己的程序集吗?我正在使用VisualStudio,我在同一个解决方案中创建了第二个项目,但我看不到注册工具中的新步骤 谢谢是的,您可以在不同的类库项目中创建每个插件,但这不是一个好做法。我更喜欢将所有插件收集到一个类库中 请注意,从文件对话框中选择程序集后,您必须单击加载程序集按钮加载实现IPlugin接口的所有类。是的,您可以在不同的类库项目中创建每个插件,但这不是一个好做法。我更喜欢将所有插件收集到一个类库中 请注意,从文

我正在创建一系列相关的插件。每个插件针对不同的实体。每个插件都必须有自己的程序集吗?我正在使用VisualStudio,我在同一个解决方案中创建了第二个项目,但我看不到注册工具中的新步骤


谢谢

是的,您可以在不同的类库项目中创建每个插件,但这不是一个好做法。我更喜欢将所有插件收集到一个类库中


请注意,从文件对话框中选择程序集后,您必须单击加载程序集按钮加载实现IPlugin接口的所有类。

是的,您可以在不同的类库项目中创建每个插件,但这不是一个好做法。我更喜欢将所有插件收集到一个类库中


请注意,从文件对话框中选择程序集后,必须单击加载程序集按钮来加载实现IPlugin接口的所有类。

可以,但不必。这几乎是你的设计决定。考虑是否有几个类都执行<代码> IPlugin <代码> < /P>
公共类MyFirstPlugin:IPlugin
{
//照常执行
}
公共类MySecondPlugin:IPlugin
{
//照常执行
}
如果要在插件注册工具中注册该DLL,您将看到以下结构:

- Server
    - DLL
        - MyFirdtPlugin
        - MySecondPlugin
然后,您可以根据需要向每个插件添加步骤

另一种选择是每个DLL有一个插件,这将为您提供

- Server
    - DLL1
        - MyFirstPlugin
    - DLL2
        - MySecondPlugin

我必须承认,这似乎有些过分,但也可能取决于您如何使用解决方案。

它可以做到,但不一定非得做到。这几乎是你的设计决定。考虑是否有几个类都执行<代码> IPlugin <代码> < /P>
公共类MyFirstPlugin:IPlugin
{
//照常执行
}
公共类MySecondPlugin:IPlugin
{
//照常执行
}
如果要在插件注册工具中注册该DLL,您将看到以下结构:

- Server
    - DLL
        - MyFirdtPlugin
        - MySecondPlugin
然后,您可以根据需要向每个插件添加步骤

另一种选择是每个DLL有一个插件,这将为您提供

- Server
    - DLL1
        - MyFirstPlugin
    - DLL2
        - MySecondPlugin

我必须承认这似乎有些过分,但这也取决于你如何使用你的解决方案。

除了glosrob的答案,我猜你是在使用插件注册工具注册你的插件。如果是这样,您需要确保在将新插件添加到同一dll后,使用注册工具更新插件dll本身,以便可以注册您创建的新插件方法。

除了glosrob的答案之外,我猜您正在使用插件注册工具注册插件。如果是这样,您需要确保在将新插件添加到同一dll后,使用注册工具更新插件dll本身,以便可以注册您创建的新插件方法。

要回答问题-否,每个新插件不必包含在新程序集中

详细说明-从技术上讲,可以将所有插件代码放在一个项目和一个文件中

警告一下——上面提到的所有如果和但是都是一场噩梦,所以这是一个可以但不应该的好例子


建议-我通常为每个实体的插件都有一个单独的项目,并使用一个开关处理所有消息。有时,我可能会有两到三个集会,但当你到达那里时,你就会知道什么时候该这样做。通常,一个DLL就足够了。

回答这个问题-不,每个新插件不必包含在新程序集中

详细说明-从技术上讲,可以将所有插件代码放在一个项目和一个文件中

警告一下——上面提到的所有如果和但是都是一场噩梦,所以这是一个可以但不应该的好例子


建议-我通常为每个实体的插件都有一个单独的项目,并使用一个开关处理所有消息。有时,我可能会有两到三个集会,但当你到达那里时,你就会知道什么时候该这样做。通常,一个DLL就足够了。

谢谢。我不得不注销并重新注册dll以显示新插件。Ooo一个总是让我着迷的插件(即使在这么做了多年之后)。。加载DLL时,请确保选中此框以将所有插件包含在DLL中。如果您以前只有一个,则只包含该项。谢谢。我不得不注销并重新注册dll以显示新插件。Ooo一个总是让我着迷的插件(即使在这么做了多年之后)。。加载DLL时,请确保选中此框以将所有插件包含在DLL中。如果您以前只有一个,那么将只包括一个。您能详细说明为什么这不是一个好的做法吗?这难道不意味着如果你把一个插件搞砸了,其他插件都会停止工作吗?我目前正试图决定是走个人项目路线,还是将我所有的插件放在一个类库中?你能详细说明一下为什么这不是一个好的做法吗?这难道不意味着如果你把一个插件搞砸了,其他插件都会停止工作吗?我目前正试图决定是走个人项目路线,还是将所有插件放在一个类库中?