如何将构建服务器从Delphi XE迁移到Delphi XE2?
解决方法
首先要注意的是,参数DelphiWin32LibraryPath在Delphi XE2中将其名称更改为DelphiLibraryPath.所以你必须改变你的构建类似的东西
msbuild /p:DelphiWin32LibraryPath="..." ...
至
msbuild /p:DelphiLibraryPath="..." ...
其次,当从XE迁移项目时,Delphi XE2会向项目文件添加一些资源引用,这些引用将无法在构建服务器上进行编译(如this answer by Uwe Raabe所述).要解决此问题,请在文本编辑器中打开dproj文件,并删除引用名为“ProjectName_Icon4.ICO”之类的ico文件的行.
第三个讨厌的事情是XE2中引入的命名空间.这将导致构建服务器停止编译,如错误消息
File "Windows.dcu" not found
此文件现在称为“Winapi.Windows”.为了避免必须更改项目中的所有uses子句,您可以告诉编译器隐式地自动添加一些命名空间:
msbuild /p:Namespace="System;System.Win;Winapi;Vcl;Vcl.Imaging;Data;Xml" ...