Есть несколько способов достичь ваших целей, в зависимости от ваших потребностей.
Самый простой подход - условно установить элементы метаданных ( CopyToOutputDirectory
/ CopyToPublishDirectory
) (предполагается, .txt
что это None
элемент, а не Content
, если он не работает, попробуйте <Content>
вместо этого):
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
<None Update="foo.txt" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
Если требуется больше контроля, наиболее универсальным подходом является добавление настраиваемых целей, которые подключаются к процессу сборки в файле csproj:
<Target Name="CopyCustomContent" AfterTargets="AfterBuild">
<Copy SourceFiles="foo.txt" DestinationFolder="$(OutDir)" />
</Target>
<Target Name="CopyCustomContentOnPublish" AfterTargets="Publish">
<Copy SourceFiles="foo.txt" DestinationFolder="$(PublishDir)" />
</Target>
Это копирует файл в соответствующие каталоги. Дополнительные параметры <Copy>
задачи см. В ее документации . Чтобы ограничить это определенными конфигурациями, вы можете использовать Condition
атрибут:
<Target … Condition=" '$(Configuration)' == 'Release' ">
Этот Condition
атрибут может применяться как к <Target>
элементу, так и к элементам задачи, например <Copy>
.