“ $(TopDir)\ ** \ packages.config”的文件路径

时间:2018-07-17 10:29:04

标签: msbuild

这听起来很基础,但是在互联网上找不到任何相关信息。我正在使用msbuild,并在.proj文件中找到了以下行

<ItemGroup>
    <PackageFiles Include="$(TopDir)\**\packages.config" />
</ItemGroup>

我知道“。\”表示当前目录,而“ .. \”表示当前目录,但是“ ** \”呢?

2 个答案:

答案 0 :(得分:1)

msbuild中的“双星”(即**)与项目一起使用。 这意味着获取所有子目录。在您的示例代码中,它可以理解为:在顶层目录下,获取所有子目录中的所有package.config文件。

最新文档在Microsoft此处: https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-select-the-files-to-build

答案 1 :(得分:0)

这与CMD或DOS中的路径无关。这是MSBuild通配符的工作方式。您可以阅读关于它们的here。基本上,**与部分 path 匹配,因此在您的情况下,项包括packages.config的任何子文件夹中的所有$(TopDir)。 (并且$(TopDir)将在其他地方的<PropertyGroup>中指定。)