【问题标题】:Is there an MSBuild task that will extract the path give from a file name?是否有一个 MSBuild 任务可以从文件名中提取路径?
【发布时间】:2008-10-07 17:45:11
【问题描述】:

我使用以下内容来获取需要编译的项目文件列表。每个项目都存储在项目目录的子目录中。

<ItemGroup>
   <dprs Include="c:\projects\**\*.dpr" />      
</ItemGroup>

是否有一个任务可以用来解压缩每个项目文件所在的目录?我知道我可以编写自己的任务来执行此操作,但我希望已经存在一个,而我只是还没有找到它。

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    如果我正确理解了这个问题,您不需要任务 - 您可以使用众所周知的元数据来完成此任务。这能解决问题吗?

    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
        <ItemGroup>
            <dprs Include="c:\projects\**\*.dpr" />      
        </ItemGroup>
    
        <Target Name="Default">
          <CreateItem Include="%(dprs.RelativeDir)">
            <Output ItemName="_ProjectFileLocations" TaskParameter="Include" />
          </CreateItem>
          <Message Text="@(_ProjectFileLocations->'%(FullPath)', '%0D%0A')" />
        </Target>
    </Project>
    

    从我运行的测试来看,它不应该在新项目组中列出两次目录。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 2016-06-19
    • 1970-01-01
    • 2020-12-08
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多