从 Dev 导入非托管解决方案不会从 QA 中添加的表单中删除字段

Importing Unmanaged Solution from Dev does not remove Field from Form added in QA

在所有环境中,有一个字段 MXM_RemoveMe 我们希望从帐户“信息”表格(帐户的 OOTB 管理表格之一,但当然我们自己定制了很多现在)

在 Dev 中,我从帐户“信息”表单中删除了 MXM_RemoveMe

我将该表单放入 Dev 中的非托管解决方案中,导出并导入到 QA 中。全部发布.

问题: 但“MXM_RemoveMe”字段仍在 QA 的表单上。

这可能是什么原因造成的?我们是否必须在所有环境中手动从表单中删除字段?我不认为通常是这种情况。

事后我在特定测试中验证了此行为。如果我在 QA 中的帐户表单中添加一个字段......然后 export/import 来自 Dev 的表单(非托管)没有该字段......它仍然留在 QA 中!我鼓励阅读这篇文章的其他人自己做这个简单的测试,看看我看到的相同行为。

这应该如何 handled/understood?

我认为这是因为表单本身是 托管的。系统只是在导入时向表单添加字段,不再简单地覆盖非托管更改。但在旧版本的 Dynamics CRM 中,这种方式不起作用。

如果您希望继续使用 非托管 解决方案(我觉得这样做有正当理由),最佳做法是始终先复制托管表单并进行修改,导出并导入副本而不是它。

副本将是一个完整的非托管形式。到目前为止,在非托管状态下导入目标环境时,我从未见过这些表单出现问题。

我在这里可能是错的,但与它在经典导入体验中的工作方式相比,这在现代 make.powerapps.com 中可能会有所改变。您可能可以选择在那里覆盖您的自定义设置(不推荐)。

https://docs.microsoft.com/en-us/powerapps/maker/data-platform/update-solutions#overwrite-customizations-option

可能最安全的方法是手动删除组件。

可能与解决方案分层和使用帐户 OOTB 管理形式有关。通常,id说最好使用自定义表单