0

刚刚完成了将我们所有的自定义代码从 AX 2012 RTM 升级到 AX 2012 R2 的痛苦过程,我们现在正在应用 CU7。

在运行“检测代码升级冲突”过程时,它报告了我们自定义 AOT 对象(主要是表、类和奇怪的配置键)上的大量“删除冲突”。

这些自定义对象仅存在于 VAR 层中,因此我们假设与 sys / syp 层没有冲突。它报告为冲突的一些方法只是一个类声明!

我应该补充一下 - 我知道我可以简单地将它们标记为已解决,但我想深入了解为什么系统认为这些对象存在冲突,以防我们对模型和/或者我们可能会在下一次安装 CU / Hotfix 时再次遇到这个问题。

有没有人有任何想法?

提前致谢 !

4

1 回答 1

0

在版本之间迁移应用程序,然后应用 XXX(SP 或累积更新或 HotFix 汇总或其他任何东西)是一个坏主意。您将不得不再次将所有开发迁移到该 XXX 新版本。

我会针对空数据 DDBB 制作一个包含所有 XXX、编译良好的标准应用程序,然后使用 AxUtil 导入开发层(或在 AOS 中使用导入选项,但这可能会很慢,并将一些标准预版本对象设置为自定义开发),一个一个(这将需要一个以开发层为中心的良好设计),然后将开发升级到新版本。在某些情况下,通过 AOT->import 部分导入对象有时会很有用。

在您的情况下,我将备份 _model 数据库,并直接应用 CU7(这是,我不会使用 Detect Code Upgrade Conflicts 的过程),然后比较 SYP 与旧 SYP 层(记得将旧对象输入 BaseLine 数据库,它是就像以前版本的应用程序中的“旧”文件夹。在生成的项目中,关注开发层中的对象,并通过比较层工具解决差异。一个一个,哎呀好痛苦......然后编译应用程序,解决编译错误...然后重新编译应用程序,重新编译所有 CIL,同步 DDBB,你应该完成它。

于 2014-03-12T23:31:44.077 回答