从命令行构建项目组并不能解决项目依赖性问题

时间:2016-01-07 08:35:02

标签: delphi msbuild delphi-10-seattle

我尝试使用MSBuild从命令行在项目组中构建项目。阅读this页后,我的批处理文件如下所示:

SET BDS=C:\Program Files (x86)\Embarcadero\Studio\17.0
SET FrameworkDir=C:\Windows\Microsoft.NET\Framework
SET FrameworkVersion=v3.5
"%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild" .\Source\MyProjectGroup.groupproj /t:build /p:config=Debug /p:Platform=Win32 /verbosity:minimal /fileLogger /fileLoggerParameters:LogFile=Build.log;Verbosity=detailed;Append=true

构建失败,如果我尝试执行" clean" build(即从源代码控制中获取源文件并从命令行运行build)。

看起来它尝试构建项目,以便将它们放在groupproj文件中。考虑这个例子:

  • 有两个包项目,包A和包B;
  • 包装B需要包装A;
  • 包裹B放在<{em>包裹在groupproj文件中的之前

在这种情况下,&#34;清洁&#34;构建将失败,但如果我重新排序项目组中的项目,或者首先构建程序包A,那么构建将会成功。

,例如,C#的MSBuild目标解决了项目引用的依赖关系 但groupproj既不包含依赖关系信息:

<Projects Include="NativePackages\Drawers\Drawers.dproj">
    <Dependencies/>
</Projects>

也不处理DCC_Reference个文件中的dproj属性:

<DCCReference Include="Drawers.dcp"/>

我做错了吗? 是否有任何选项/财产可以触发? Delphi的MSBuild目标能否自动解决依赖关系?

更新

我知道&#34;依赖...&#34;项目管理器中的上下文菜单项(它只影响Dependencies文件中的groupproj标记。

0 个答案:

没有答案