gpt4 book ai didi

Delphi分布式构建失败

转载 作者:行者123 更新时间:2023-12-03 15:28:38 25 4
gpt4 key购买 nike

我创建了一个小项目 [0] 来在受控环境中重现错误。事实上,我正在使用 Jenkins 来构建我的项目,一个大项目,我想进行一些并行构建。让我用图形来表示

[MyBasicPackage] -----> [MyPackageTester] ------> [MyBasicApp]
.
.
+-----> [...]
+-----> [...]

这是我在 [0] 上创建的组织,我在 spring 容器上注册了一个类 TMyUnit (MyBasicPackage) 进行测试。我构建它并生成它的 .dcu、.bpl 等。第二阶段,我构建需要 MyBasicPackageMyPackageTester。最后,我构建了需要 MyPackageTester 的应用程序。到目前为止一切顺利。

当我尝试在 PC-00 上构建我的 MyBasicPackage 时,获取工件并尝试在 MyPackageTester 上构建 MyPackageTester strong>PC-06(相同的架构,相同的操作系统,相同的IDE,相同的spring4d版本),并且出现了一个不错的错误:

Unit TMyUnit was compiled with a different version of Spring.Container.Registration

因此,我在两台机器(PC-00PC-06)上更新了 spring4d 并构建了它们。运行...并出现同样的错误。检查库路径选项(C:\Program Files (x86)\Embarcadero\Studio\14.0\Componentes\spring4d\Library\DelphiXE6\Win32\Debug),删除 dcu 文件并再次构建它们两台机器,同样的错误。将 dcu 文件从 PC-00 复制到 PC-06 以避免出现任何类型的系统配置和相同的错误。

也许我正在尝试做一些目前为止不可能的事情。我用谷歌搜索了几天,但没有成功。

有什么想法吗?

请随意 fork 或拉取示例;)

问候

[0] https://github.com/graguirre/DelphiDepencyExample

最佳答案

在您的情况下,您需要使用 Spring.Core 运行时包进行构建。这不仅可以防止此错误,而且您的代码实际上可以工作。

如果您不这样做,那么所有模块都将保留您正在使用的 GlobalContainer 实例的自己版本,并且什么都不会起作用。

关于Delphi分布式构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32943653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com