Dynamics crm 从修补程序内的窗体中删除字段并部署到目标环境

Dynamics crm 从修补程序内的窗体中删除字段并部署到目标环境,dynamics-crm,dynamics-crm-2011,crm,dynamics-crm-2013,dynamics-crm-online,Dynamics Crm,Dynamics Crm 2011,Crm,Dynamics Crm 2013,Dynamics Crm Online,我最近创建了一个新补丁,从我的一个自定义实体的主窗体中删除了一个字段。我没有将其从实体中删除,因为我想在目标环境中保留任何旧数据,只是将其从表单中删除 该修补程序被部署到另一个环境中,在该环境中,基本解决方案的表单上仍然存在相同的字段 我希望修补程序在目标环境中更新相同的表单,但没有,它仍然在另一个表单上。我不知道从这里该怎么办,我需要做什么才能从目标环境的表单中删除字段?我以前也遇到过类似的问题-希望您也面临同样的问题- 所讨论的表单可能在目标环境中有一个活动的非托管层,该层将有效地取代已安装

我最近创建了一个新补丁,从我的一个自定义实体的主窗体中删除了一个字段。我没有将其从实体中删除,因为我想在目标环境中保留任何旧数据,只是将其从表单中删除

该修补程序被部署到另一个环境中,在该环境中,基本解决方案的表单上仍然存在相同的字段


我希望修补程序在目标环境中更新相同的表单,但没有,它仍然在另一个表单上。我不知道从这里该怎么办,我需要做什么才能从目标环境的表单中删除字段?

我以前也遇到过类似的问题-希望您也面临同样的问题-

所讨论的表单可能在目标环境中有一个活动的非托管层,该层将有效地取代已安装的托管解决方案。您可以通过切换到经典>导航到表单>选择表单>在“更多操作”下选择“解决方案层”,在解决方案中检查这一点

如果存在非托管层,您将在顶部看到它(列为活动项)。

通过单击省略号(3点)并选择“删除活动自定义”,可以删除此非托管层


如果这是一个测试或产品环境,那么这些定制可能无论如何都不应该存在。如果在不做任何更改的情况下打开表单编辑器并保存和关闭,则很容易发生此错误-这将有效地创建非托管层

我以前遇到过类似的情况-希望您也面临同样的问题-

所讨论的表单可能在目标环境中有一个活动的非托管层,该层将有效地取代已安装的托管解决方案。您可以通过切换到经典>导航到表单>选择表单>在“更多操作”下选择“解决方案层”,在解决方案中检查这一点

如果存在非托管层,您将在顶部看到它(列为活动项)。

通过单击省略号(3点)并选择“删除活动自定义”,可以删除此非托管层


如果这是一个测试或产品环境,那么这些定制可能无论如何都不应该存在。如果打开表单编辑器并保存并关闭而不进行任何更改,则很容易发生此错误-这将有效地创建非托管层

如果未找到非托管层,则一种可能是因为您使用的是现成的表单。 您在表单上添加了一个属性。导出时,解决方案包含所创建的托管窗体和非托管图层之间的差异。您的属性将添加到目标表单中。 然后从表单中删除该属性。导出修补程序时,开箱即用表单与您拥有的表单版本之间没有差异(平台不能说«此属性已删除»,因为没有差异)。因此,导入修补程序时,无法找到已删除的属性,因此不会在目标环境中删除该属性

解决方案:不要对标准实体使用开箱即用的表单,而是创建自己的表单。
或者只需将属性可见性设置为false,而不是删除je字段

如果未找到非托管层,则一种可能是因为您使用的是开箱即用的表单。 您在表单上添加了一个属性。导出时,解决方案包含所创建的托管窗体和非托管图层之间的差异。您的属性将添加到目标表单中。 然后从表单中删除该属性。导出修补程序时,开箱即用表单与您拥有的表单版本之间没有差异(平台不能说«此属性已删除»,因为没有差异)。因此,导入修补程序时,无法找到已删除的属性,因此不会在目标环境中删除该属性

解决方案:不要对标准实体使用开箱即用的表单,而是创建自己的表单。
或者只是将属性visibility设置为false,而不是删除je字段

我不是托管解决方案专家,但该字段是否有可能已作为非托管解决方案的一部分部署?@Daryl您好,没有,它肯定是作为托管解决方案(补丁)部署的。当我在目标环境中打开修补程序时,我无法将其作为托管解决方案进行编辑是的,您不能编辑托管解决方案…您能检查(使用解决方案层功能)表单上是否有任何未经管理的更改吗?我不是托管解决方案专家,但是有没有可能该字段已作为非托管解决方案的一部分部署?@Daryl嗨,没有,它肯定是作为托管解决方案(补丁)部署的。当我在目标环境中打开修补程序时,我无法将其作为托管解决方案进行编辑是的,您无法编辑托管解决方案…您可以检查(使用解决方案层功能)表单上是否有任何未经管理的更改吗?