获取MSBuild目录中的dll列表

时间:2011-02-11 00:27:21

标签: msbuild

以下只给我一个文件,exe:

<ItemGroup>
      <AssembliesToMerge Include="$(MSBuildProjectDirectory)\App\bin\Release\*.*" Condition="'%(Extension)'=='.dll'"/>
      <AssembliesTomerge Include="$(MSbuildProjectDirectory)\App\bin\Release\App.exe"/>
</ItemGroup>

如果我删除Condition属性,AssembliesToMerge包含目录中的所有文件 - dll和其他。我做错了什么?

我正在通过ILMerge MSBuildCommunityExtensions Task测试这个。如果有一种方法可以直接打印ItemGroup中的项目,那么这可能有助于确保它是Condition属性的问题。

1 个答案:

答案 0 :(得分:2)

只需在包含中使用通配符即可过滤dll文件(Items wildcard

<ItemGroup>
  <AssembliesToMerge Include="$(MSBuildProjectDirectory)\App\bin\Release\*.dll"/>
  <AssembliesTomerge Include="$(MSbuildProjectDirectory)\App\bin\Release\App.exe"/>
</ItemGroup>

我认为使用条件属性不起作用,因为在创建过程中尚未设置项元数据,因此%(Extension)为空。