Dynamics crm CRM 2011-导入解决方案获取错误无法加载插件程序集

Dynamics crm CRM 2011-导入解决方案获取错误无法加载插件程序集,dynamics-crm,crm,dynamics-crm-4,dynamics-crm-2011,Dynamics Crm,Crm,Dynamics Crm 4,Dynamics Crm 2011,以下是我的故事:我已将我的CRM 4解决方案导入CRM 2011。大多数事情看起来都没问题,插件大部分都可以工作。此导入过程是通过CRM部署管理器完成的 步骤2:我想测试构建一个解决方案,将所有自定义项添加到解决方案中,导出解决方案,然后将其导入到同一服务器上的另一个组织中 它变得相当接近(这是对CRM 4的巨大改进)。但当它加载我的插件程序集时失败了。CRM跟踪和事件日志没有提供比解决方案导入日志文件更多的帮助: 故障0x80044191无法加载 插件组件 我的程序集已部署到磁盘以使其可用。我

以下是我的故事:我已将我的CRM 4解决方案导入CRM 2011。大多数事情看起来都没问题,插件大部分都可以工作。此导入过程是通过CRM部署管理器完成的

步骤2:我想测试构建一个解决方案,将所有自定义项添加到解决方案中,导出解决方案,然后将其导入到同一服务器上的另一个组织中

它变得相当接近(这是对CRM 4的巨大改进)。但当它加载我的插件程序集时失败了。CRM跟踪和事件日志没有提供比解决方案导入日志文件更多的帮助:

故障0x80044191无法加载 插件组件

我的程序集已部署到磁盘以使其可用。我尝试解压缩解决方案文件,并在解决方案层次结构中添加我的程序集,但没有帮助


是因为它们是CRM 4插件吗?必须更新它们才能导入CRM 5吗?

您应该能够注册旧插件;不需要升级插件。您是否尝试过将插件注册到数据库而不是磁盘?你能在你的4.0环境中注册这个插件吗


如果您决定尝试升级,请参阅以获取有关升级的更多信息。

您应该能够注册旧插件;不需要升级插件。您是否尝试过将插件注册到数据库而不是磁盘?你能在你的4.0环境中注册这个插件吗


如果您决定尝试升级,请参阅以获取有关升级的更多信息。

结果是,我引用的程序集不在新服务器的GAC中。与解决方案无关,我也不能直接用插件注册工具注册(尽管这给了我更多信息)。因此,如果您看到这一点,我建议尝试使用插件注册工具注册程序集,以获得更好的信息。

结果是,我引用的程序集不在新服务器的GAC中。与解决方案无关,我也不能直接用插件注册工具注册(尽管这给了我更多信息)。因此,如果您看到这一点,我建议尝试使用插件注册工具注册程序集以获得更好的信息。

实际上,当您尝试在MS CRM2011的新组织中导入解决方案时,它会引发异常,因为MS CRM4.0插件使用的库“microsoft.crm.sdk.dll”在GAC中不存在。以下是在MS CRM2011中注册MS CRM4插件的解决方法实际上,当您尝试在MS CRM2011的新组织中导入解决方案时,会引发异常,因为MS CRM4.0插件正在使用GAC中不存在的库“microsoft.crm.sdk.dll”。以下是在MS CRM2011中注册MS CRM4插件的一个解决方法。您的插件程序集是否有任何依赖项(除了明显的microsoft.crm.*)?如果是这样,请尝试将所有内容合并到一个大DLL中,并将其部署到数据库。

您的插件程序集是否有任何依赖项(除了明显的microsoft.crm.*)?如果是这样,请尝试将所有内容合并到一个大型DLL中,并将其部署到数据库。

谢谢您的提示。我们曾经进行过ILMerge,但是由于我们已经转向了磁盘部署(无论如何我们都不支持CRM Online),因此我们非常喜欢没有ILMerge的更好的构建时间。这是如此,但是您必须非常小心您的依赖项保存在何处。。。我们曾经花了无数的时间试图把所有的DLL放在一个合适的地方,最后决定额外的构建时间是一个较小的缺点。顺便说一句,ILMerging还可以防止依赖项上的版本冲突-如果您部署由不同的人在不同的时间构建的多个插件,这很有用,但不是完全相同的依赖集。我知道你在说什么。如果重新构建,结果通常是可以的。考虑添加一个自定义构建步骤,将Server\bin\assembly文件夹所需的所有内容合并到一个文件夹中(我想与构建ILMerge没有太大区别)。不管怎样,在这个问题的开始,我就把它删除了,以帮助简化问题,寻找最终的解决方案。如果我觉得有必要的话,这是一件很容易添加回去的事情。我发现诀窍是使用旧的合并名称保持您的工作流活动,这样编译后的工作流仍然可以工作。谢谢您的提示。我们曾经进行过ILMerge,但是由于我们已经转向了磁盘部署(无论如何我们都不支持CRM Online),因此我们非常喜欢没有ILMerge的更好的构建时间。这是如此,但是您必须非常小心您的依赖项保存在何处。。。我们曾经花了无数的时间试图把所有的DLL放在一个合适的地方,最后决定额外的构建时间是一个较小的缺点。顺便说一句,ILMerging还可以防止依赖项上的版本冲突-如果您部署由不同的人在不同的时间构建的多个插件,这很有用,但不是完全相同的依赖集。我知道你在说什么。如果重新构建,结果通常是可以的。考虑添加一个自定义构建步骤,将Server\bin\assembly文件夹所需的所有内容合并到一个文件夹中(我想与构建ILMerge没有太大区别)。不管怎样,在这个问题的开始,我就把它删除了,以帮助简化问题,寻找最终的解决方案。如果我觉得有必要的话,这是一件很容易添加回去的事情。我发现诀窍是使用旧的合并名称保持工作流活动,这样编译后的工作流仍然可以工作。