我使用以下内容获取需要编译的项目文件列表。每个项目都存储在项目目录的子目录中。
<ItemGroup>
<dprs Include="c:\projects\**\*.dpr" />
</ItemGroup>
有没有可以用来解压的任务来解压每个项目文件所在的目录?我知道我可以编写自己的任务来执行此操作,但我希望已经存在一个任务,而我只是还没有找到它。
我使用以下内容获取需要编译的项目文件列表。每个项目都存储在项目目录的子目录中。
<ItemGroup>
<dprs Include="c:\projects\**\*.dpr" />
</ItemGroup>
有没有可以用来解压的任务来解压每个项目文件所在的目录?我知道我可以编写自己的任务来执行此操作,但我希望已经存在一个任务,而我只是还没有找到它。
如果我正确理解了这个问题,那么您不需要任务 - 您可以使用众所周知的元数据来完成此任务。这行得通吗?
<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>
从我运行的测试来看,它不应该在新项目组中列出两次目录。