我有一个包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
我想避免“现在工作,稍后休息”。但我现在正在测试。如果有明确的答案,会很好。 –