我有一個包Package1
,這取決於包PackDependency
。的Package1
的.dpk包含此:如何使包依賴/要求依賴於條件符號?
requires
vcl,
rtl,
PackDependency,
dbrtl;
現在我想只有當條件符號CONDITION
定義此dependeny。因此,我手動更改.dpk文件:
requires
vcl,
rtl,
{$IFDEF CONDITION}
PackDependency,
{$ENDIF}
dbrtl;
但是,這還不夠嗎?我很擔心.dproj文件。
我有兩個包如Package1
我想用上面的做。其中一人在其.dproj文件以下行:
<DCCReference Include="PackDependency.dcp"/>
其他包.dproj不不包含即使包也依賴於PackDependency
這條線。
這就產生了一些問題:
- 是否有可能
require
包基於條件的象徵? - 如果是,我必須對.dproj文件做些什麼嗎?如果是的話,如果文件的某些區域被Delphi修改,我是否會遇到麻煩?
- 爲什麼
<DCCReference Include...>
行包含在.dproj文件之一中,但不包含在其他文件中(儘管這兩個包在.dpk中都有依賴關係,並且也在Delphi項目管理器中顯示)? - 我懷疑從Delphi構建和從命令行使用msbuild時的不同行爲。前者可能會查看.dpk文件 - 但後者是否?
我的最終目標是使用msbuild從命令行構建。因此,命令行和IDE之間的不同行爲對我來說也是重要信息。
看來這是很容易測試... – GolezTrol
我想避免「現在工作,稍後休息」。但我現在正在測試。如果有明確的答案,會很好。 –