我创建了一个小项目 [0] 来在受控环境中重现错误。事实是,我正在使用 jenkins 构建我的项目,一个很大的项目,我想做一些并行构建。让我以图形方式进行
[MyBasicPackage] -----> [MyPackageTester] ------> [MyBasicApp]
.
.
+-----> [...]
+-----> [...]
这是我在 [0] 上创建的组织,我在 spring 容器上注册了一个类TMyUnit ( MyBasicPackage ) 以进行测试。我构建它并生成它的 .dcu、.bpl 等。第二阶段我构建了需要MyBasicPackage的MyPackageTester。最后,我构建了需要MyPackageTester的应用程序。到现在为止还挺好。
当我尝试在PC-00上构建MyBasicPackage时,获取工件并尝试在PC-06上构建MyPackageTester(相同的架构、相同的操作系统、相同的 IDE、相同的 spring4d 版本),然后出现了一个很好的错误:
Unit TMyUnit was compiled with a different version of Spring.Container.Registration
所以,我在两台机器( PC-00和PC-06 )上更新我的 spring4d并构建它们。运行...并出现同样的错误。检查库路径选项(C:\Program Files (x86)\Embarcadero\Studio\14.0\Componentes\spring4d\Library\DelphiXE6\Win32\Debug),删除 dcu 文件并在两台机器上再次构建它们,同样的错误。将 dcu 文件从PC-00复制到PC-06以避免任何类型的系统配置并出现相同的错误。
可能我正在尝试做一些迄今为止不可能的事情。我用谷歌搜索了几天没有运气。
有任何想法吗?
请随时 fork 或 pull request 示例;)
问候