简体   繁体   English

通过解决方案导入进行的CRM更新不会更新“快速查找”视图

[英]CRM update via solution import does not update Quick Find view

We are a Housing Association. 我们是房屋协会。 We use CRM 2016 SP1. 我们使用CRM 2016 SP1。 Our Dev and QA environments are single server configuration and staging and production are multiple server config with load balancers. 我们的开发和质量保证环境是单服务器配置,而过渡和生产是带有负载均衡器的多服务器配置。 Our custom solutions in QA, staging and production are managed. 我们管理质量,阶段和生产方面的定制解决方案。

We needed to update a "Quick Find Active" view for two of our entities Person and Property with some extra search columns in our staging and production environments. 我们需要在登台和生产环境中为我们的两个实体“人”和“财产”更新一个“快速查找活动”视图,并添加一些额外的搜索列。

I added the new columns to those entities' views in Dev environment by going to Settings->Solutions->[custom solution]->Entities->[custom entity]->Views->Quick Find Active [entity]->Add Find Columns. 我通过转到设置->解决方案-> [自定义解决方案]->实体-> [自定义实体]->视图->快速查找活动[实体]->添加查找,将新列添加到开发环境中这些实体的视图中列。 I did the same for both entities. 我对两个实体都做了同样的事情。

To deploy the update to other environments as a patch, I exported a standalone solution file that only contained the Person and Property entities with the updated views. 为了将更新作为补丁部署到其他环境,我导出了一个独立的解决方案文件,该文件仅包含具有更新视图的Person和Property实体。 I then imported the solution file into the QA environment to test. 然后,我将解决方案文件导入到QA环境中进行测试。

Having published the changes in QA after import, I checked the entities' Quick Find Active views in the default solution (Settings->Customization->Customize the system->[custom solution]->Entities->[custom entity]->Views). 导入后发布了质量检查中的更改,我检查了默认解决方案中实体的“快速查找活动”视图(“设置”->“定制”->“定制系统”->“ [定制解决方案]->实体-> [定制实体]->视图” )。 I noticed that the Property entity was updated with the changes but the Person entity was not. 我注意到Property实体已更新,但Person实体未更改。 It made no sense. 没道理

Having spent some time to search the Internet for an answer to no avail, we decided to try out the patch solution in staging. 花了一些时间在Internet上搜索无济于事的答案后,我们决定分阶段试用补丁解决方案。 So we exported the solution file but before publishing the changes we decided to check the update. 因此,我们导出了解决方案文件,但是在发布更改之前,我们决定检查更新。 To our surprise, both entities had been updated. 令我们惊讶的是,两个实体均已更新。 So we did not publish the changes. 因此,我们没有发布更改。

Happy with the result and blaming the problem on our QA environment, we decided to go ahead with the deployment to production. 我们对结果感到满意,并将问题归咎于我们的质量检查环境,因此决定继续进行生产部署。 We imported the file and check the changes and noticed that this time around the opposite happened to our entities, ie The Person entity had been updated but the Property entity had not! 我们导入了文件并检查了更改,发现这一次我们的实体发生了相反的情况,即Person实体已经更新,而Property实体却没有!

We tried publishing the changes but it made no difference. 我们尝试发布更改,但没有任何区别。 So at the end we gave up and had to complete the deployment by manually updating the views in production. 因此,最后我们放弃了,不得不通过手动更新生产中的视图来完成部署。

I am wondering if anyone else has experienced this oddity. 我想知道是否还有其他人经历过这种奇怪现象。 Any help/suggestion is greatly appreciated. 任何帮助/建议,我们将不胜感激。

You mention that you are deploying managed solutions, and that your changes are not taking effect. 您提到正在部署托管解决方案,并且您的更改没有生效。 The entities contained in the solution have previously been deployed to the target environments. 解决方案中包含的实体先前已部署到目标环境。

If you have previously made any modifications directly to the target environment (which would not seem improbable given that you did so this time), these changes will be in the unmanaged layer, which by default overrides changes in managed solutions: 如果您以前直接对目标环境进行过任何修改(鉴于这次您这样做似乎不太可能),那么这些更改将在非托管层中进行,默认情况下将覆盖托管解决方案中的更改:

来自https://msdn.microsoft.com/zh-cn/library/gg334576.aspx#Anchor_4的非托管和托管解决方案

MSDN says: MSDN说:

Because unmanaged customizations are considered ”above” any managed solution in terms of conflict resolution, organizations installing an update to a managed solution may not see their changes applied because of unmanaged modifications. 由于就冲突解决而言,非托管自定义被视为“在任何托管解决方案之上”,因此,由于对非托管修改所做的安装,对托管解决方案安装更新的组织可能看不到其更改被应用。 An option exists to make sure that changes applied by an update to a managed solution are available. 存在一个选项来确保更新对托管解决方案应用的更改可用。

When you release an update to a managed solution, the organization installing the update can select: 将更新发布到托管解决方案时,安装更新的组织可以选择:

  • To preserve any customizations it has applied on top of your managed solution. 为了保留任何自定义,它已应用到托管解决方案的顶部。

  • To overwrite any customizations it has applied on top of your managed solution. 要覆盖已应用到您的托管解决方案之上的所有自定义项。

In conclusion: Never make any modifications directly to your target environments if you are using managed solutions. 结论:如果使用托管解决方案, 切勿直接对目标环境进行任何修改。 It will cause you issues later. 稍后会引起您的问题。

Thanks to Henrik who replied to my question and put me in the right direction. 感谢Henrik回答了我的问题,并向我指出了正确的方向。 We managed to resolve this issue. 我们设法解决了这个问题。 Refer to this page to read the solution. 请参阅此页面以阅读解决方案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM