【发布时间】:2014-05-06 17:04:19
【问题描述】:
我只是怀疑相对路径。我正在使用 Delphi XE 更新。
我开发了一个内部程序来编译我们的项目并分发它们 更灵活。
我有一个功能可以从 Delphi 映射文件“.Groupproj”并导入 以正确的构建顺序将“项目包含”添加到我的应用程序中。
我无法识别文件的相对路径有一些问题 它的完整路径。
获取完整路径的一种方法是将项目组保存在“c:\”中。 因此,所有的相对路径都被转换了。
目前使用“ExpandFileName”方法,但不能按我喜欢的方式工作 它。对于组项目的所有路径都不完整。因此方法 无法正确识别路径。
示例 XML 组文件默认值:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{1CA5FD23-CD16-4E71-8B84-CF65BC26C390}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Projects
Include="..\..\..\Framework\JBTypes\Package\DXE\Types.dproj">
<Dependencies/>
</Projects>
<Projects
Include="..\..\..\Framework\JBLib\Package\DXE\JBLib.dproj">
<Dependencies/>
</Projects>
预期的示例 XML 组:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{1CA5FD23-CD16-4E71-8B84-CF65BC26C390}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Projects
Include="c:\JBSoftware\Systems\Framework\JBTypes\Package\DXE\Types.dproj">
<Dependencies/>
</Projects>
<Projects
Include="c:\JBSoftware\Systems\Framework\JBLib\Package\DXE\JBLib.dproj">
<Dependencies/>
</Projects>
我有什么有效的方法来识别这些组的完整路径 项目?
【问题讨论】:
-
您可以使用 ConvertToAbsolutePath 任务将路径转换为绝对路径http://msdn.microsoft.com/en-us/library/bb882668.aspx
-
嗨@JamesWoolfenden。谢谢你的小费。在 Delphi Project Group 中,相对路径由文件在物理上保存项目组的位置定义。因此,项目组中包含的相对路径未正确解析。因此需要在解析相对路径之前设置当前目录。但是,我会测试您的提示以确认。
标签: xml delphi compilation msbuild