我有一个项目,我需要建立两个可执行文件:一个在Delphi XE2下,一个在XE3下。我有一个构建每个版本的构建脚本(即一个用于XE2的脚本和一个用于XE3的脚本)。MSBuild和多个德尔福版本
如果我运行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
他们有相同的输出路径。完全清除构建或完全不同的输出路径将是我的第一个猜测。 –
你是否从相应的Rad Studio命令提示符(它应该设置正确的环境)运行脚本? – kludg
Tony:我在构建之前尝试了一次/ t:clean,没有任何区别。我认为清除一切。 –