Existem várias maneiras de atingir seus objetivos, dependendo de quais são suas necessidades.
A abordagem mais fácil é definir os itens de metadados ( CopyToOutputDirectory
/ CopyToPublishDirectory
) condicionalmente (assumindo .txt
ser um None
item em vez de Content
, se não funcionar, tente <Content>
):
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
<None Update="foo.txt" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
Se mais controle for necessário, a abordagem mais versátil é adicionar destinos personalizados que se conectam ao processo de compilação no arquivo 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>
Isso copia um arquivo para os respectivos diretórios. Para mais opções para a <Copy>
tarefa, consulte sua documentação . Para limitar isso a certas configurações, você pode usar um Condition
atributo:
<Target … Condition=" '$(Configuration)' == 'Release' ">
Este Condition
atributo pode ser aplicado tanto no <Target>
elemento quanto em elementos de tarefa como <Copy>
.