Как удалить элементы из файловой группы элементов, которые находятся в другой группе элементов только с именами файлов?
У меня есть список сборок/имена , которые не следует копировать в
bin
папка примерно выглядит так:
<ItemGroup>
<StockAssembly Include="PdfSharp.Charting.resources" />
<StockAssembly Include="PdfSharp.resources" />
<StockAssembly Include="Antlr3.Runtime" />
<StockAssembly Include="ChilkatDotNet47" />
...
Я ловлю свою цель где-то рядом
CopyFilesToOutputDirectory
чтобы избежать копирования этих сборок.
Список разрешенных сборок ( для копирования ) находится в ItemGroup.
Мне нужно исключить сборки из
ReferenceCopyLocalPaths
с именами, упомянутыми в
StockAssembly
Группа элементов.
Решение , которое я нашел до сих пор, включает в себя объединение кандидатов в один текст и выполнение манипуляций со строками сверху:
<PropertyGroup>
<StockAssemblies>;@(StockAssembly);</StockAssemblies>
</PropertyGroup>
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="$(StockAssemblies.Contains(';%(Filename);'))"/>
Концептуально неправильно сглаживать коллекцию, чтобы найти в ней точное совпадение, поскольку строка содержит =\
Не могли бы вы посоветовать, есть ли лучший вариант?
Спасибо.