Я хочу, чтобы все файлы проект подContent\**
иметь CopyToOutputDirectory
набор для PreserveNewest
по умолчанию, все еще имея добавить каждый элемент (поэтому не подстановочный не включает). Что-то вроде:Условные метаданные элемента по умолчанию
<ItemDefinitionGroup>
<Content Include="Content\**\*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemDefinitionGroup>
К сожалению ItemDefinition не поддерживает Include
атрибут. Я также попытался:
<ItemDefinitionGroup>
<Content>
<CopyToOutputDirectory Condition="$([System.String]::new('%(Identity)').StartsWith('Content\'))">PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemDefinitionGroup>
как предложено here, но кажется, что он не работает в ItemDefinition. На самом деле, когда я попытался это:
<ItemDefinitionGroup>
<Content>
<CustomToolNamespace>Foo = $([System.String]::new(%(Identity)))</CustomToolNamespace>
</Content>
</ItemDefinitionGroup>
Значение CustomToolNamespace сообщает панели Properties была Foo = %(Identity)
.
Это установит 'CopyToOutputDirectory' на все содержимое, а не только внутри' Content \ 'и будет включать в себя все файлы в этом каталоге в проект, который я не хочу делать («поэтому нет подстановочных знаков»). –
yes Это будет сделано для любой группы элементов, которая называется content. Тем не менее, прекращение использования другого имени или даже нескольких групп элементов и объединение. –
Я не вижу, как поможет другое имя. Мне нужны метаданные на ''. –