我有一个项目需要构建两个可执行文件:一个在 Delphi XE2 下,一个在 XE3 下。我有一个构建每个版本的构建脚本(即一个用于 XE2 的脚本和一个用于 XE3 的脚本)。
如果我为我运行的最后一个版本的 IDE 运行构建脚本,一切正常(即运行 Delphi XE2、构建应用程序、运行 XE2 构建脚本)。
但是,如果我在运行不同版本的 IDE 后运行构建脚本,我会在我的应用程序启动后立即获得一个 AV(即运行 Delphi XE2、构建应用程序、运行 XE3 构建脚本)。
看起来构建脚本的某些内容正在被 IDE 缓存/修改,我需要为我想要构建的版本恢复适当的数据。我已经用 .dproj 试过这个,但没有运气。
或者它可能正在加载表单资源 - 如果 IDE 在启动时由于不存在的属性,两个版本都会显示错误。如果是这样,是否有一种简单的方法可以解决这个问题而无需维护所有 .fmx 文件的多个版本?
这是一个示例构建脚本:
set path=%path%;c:\Windows\Microsoft.NET\Framework\v3.5
set path=%path%;c:\Program Files (x86)\Embarcadero\RAD Studio\10.0
set path=%path%;c:\Documents and Settings\All Users\Documents\RAD Studio\10.0
set BDS=c:\Program Files (x86)\Embarcadero\RAD Studio\10.0
set FrameworkDir=c:\Windows\Microsoft.NET\Framework\
set FrameworkVersion=v3.5
set failed=false
cd \myprogs\monkeystyler
msbuild monkeystyler.dproj /t:build /p:config=full||set failed=true
cd build
if not %failed%==true goto Done
echo ****FAILED TO BULD MONKEYSTYLER
****
Pause
exit
:done