通配符模式与文字点不匹配?

Wildcard pattern does not match literal dot?

在目标文件中,我有以下项目组:

<ItemGroup>
  <MyGroup Include="$(MSBuildThisFileDirectory)..\dist\**\*.*">
  </MyGroup>
</ItemGroup>

我想匹配所有具有扩展名(名称中包含一个点)的文件,但上面的模式是匹配没有扩展名的文件(例如 README)。我做错了什么?

您可以分两步完成:

<ItemGroup>
  <Tmp Include="$(MSBuildThisFileDirectory)..\dist\**\*.*">
  </Tmp>
  <MyGroup Include="@(Tmp)" Condition="'%(Tmp.Extension)' != ''" >
  </MyGroup>
</ItemGroup>

<Message Text="@(MyGroup)" />
<Message Text="@(Tmp)" />