2つの実行可能ファイルをビルドする必要があるプロジェクトがあります。1つはDelphiXE2で、もう1つはXE3で作成します。各バージョンをビルドするビルドスクリプトがあります(つまり、XE2用に1つ、XE3用に1つ)。
実行した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