注册插件和/或工作流时出错。插件程序集不包含所需类型或无法更新程序集内容我使用CRM2011开发人员工具包在VisualStudio2010中实施了自定义工作流。它适用于系统生成的名称空间。但是当我更改项目的命名空间时,它会抛出错误“注册插件和/或工作流时发生错误。插件程序集不包含所需的类型或无法更新程序集内容。”在部署。我已经更改了.crmregister文件、项目属性和源代码中的命名空间。然后这就是问题所在。如果您通过CRM开发工具包和包部署您的客户工作流,那么如果您更改任何类名或命名空间,您必须手动更改RegisterFile.crmregister文件,因为VisualStudio不会为您做这件事。因此,如果将类名从A更改为B,并将命名空间从N更改为M,则RegisterFile.crmregister文件中以下xml中的'TypeName'必须如下所示:我在使用CRM工具包时遇到了完全相同的问题.这就是我解决它的方法:转到CRM中的设置/解决方案/你的解决方案删除与插件程序集相关的SDK消息处理条目从解决方案中删除插件程序集本身返回到VisualStudio并部署我不必手动编辑任何事物。在我们的例子中,我们使用了ILMerge,我们不小心将Microsoft.Xrm.Sdk.dll合并到我们的插件中,删除这个dll(copylocal=false)解决了这个问题。这个合并的dll无论如何都不起作用,因为它在覆盖成员时引发了违反继承安全规则的安全异常:'Microsoft.IdentityModel.Claims.ClaimsIdentity.System.Runtime.Serialization.ISerializeable.GetObjectDataThisGetObjectDataexistsinSecurityexceptionforSandBox部署在Microsoft.Xrm.Sdk.dll中。尝试更改程序集版本。您是否引用了任何其他程序集(例如Microsoft.Xrm.Sdk)?如果是这样,如果您要部署到数据库,则需要使用像ILMerge这样的工具来进行合并。如果要部署到磁盘,还需要它们存在于程序集文件夹中或安装在GAC中。您可能需要检查您的组织中是否存在与已注册插件同名的插件。注销插件并重新注册程序集和步骤。如果您有一些自动生成的类,例如您通过右键单击“创建插件”创建的插件,然后将其删除,则必须在RegisterFile.crmregister中清除它的踪迹。如果它是一个插件,你需要用它的名字删除整个分支。如果您更改/重构插件的主类名称,就会发生这种情况。(例如,当代码分析抱怨您有拼写错误并修复它时)此问题只会在您下次部署组件时出现”以删除您的插件查看插件的RegisterFile.crmregister文件。在XML标记上,您会看到3对您的类名的引用-其中一些可能尚未更新。更新此文件中的名称并重新部署。完成。(好的,我注意到MasoudGhabachi很久以前就提到过它...)注销插件,然后重新注册.除了上述之外,请检查.snk文件或.pfx文件。它是否在第二次部署时发生变化,在这种情况下尝试使用旧源,否则您需要重新注册插件/工作流。确保您的插件/工作流类是公共的。我得到了同样的错误,因为我的插件类是私有的。检查RegisterFile.crmregister工作流属性TypeName不能包含任何空格。我更改了签名密钥文件并收到错误,将其更改回以前的密钥文件为我修复了它。您的版本必须与为升级发布的版本相同。我们有1个主要版本的主要版本,0个次要版本-我们要发布的版本是12个主要版本,0个次要版本。我们将VisualStudio解决方案编号改回1.0.0.0版,构建、加载程序集、更新-它成功了!如果使用工作流,删除它不会解决问题。我们切换了TracingOn并找到了SQL脚本来找到罪魁祸首。当preImage元素放置在寄存器中的postImage元素之后时,我得到了这个。交换他们的位置修复它。以上是C#学习教程:Errorregisteringpluginand/orworkflow。插件程序集不包含所需的类型或程序集的内容无法更新和共享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处: