Получить список DLL в каталоге с MSBuild - PullRequest
0 голосов
/ 11 февраля 2011

Следующее дает мне только 1 файл, 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.Если есть способ напрямую напечатать элементы в ItemGroup, то это может помочь убедиться, что это проблема с атрибутом Condition.

1 Ответ

2 голосов
/ 11 февраля 2011

Просто используйте подстановочный знак в Включить для фильтрации файлов DLL ( Элементы подстановки )

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

Я думаю, что он не работает с использованием атрибута Condition , потому что метаданные элемента еще не были установлены во время создания, поэтому %(Extension) пусто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...