Copiar tarefa
Copia os arquivos no sistema de arquivos para um novo local.
Parâmetros
A tabela a seguir descreve os parâmetros da Copy de tarefas.
Parâmetro |
Descrição |
---|---|
CopiedFiles |
Opcional ITaskItem[] parâmetro de saída. Contém os itens que foram copiados com êxito. |
DestinationFiles |
Opcional ITaskItem[] parâmetro de saída. Especifica a lista de arquivos para copiar os arquivos de origem. Esta lista é esperada para ser um mapeamento individual com a lista especificada na SourceFiles parâmetro. Ou seja, o primeiro arquivo especificado em SourceFiles serão copiados para o primeiro local especificado em DestinationFilese assim por diante. |
DestinationFolder |
Opcional ITaskItem parâmetro. Especifica o diretório ao qual você deseja copiar os arquivos. Isso deve ser um diretório, não é um arquivo. Se o diretório não existir, ele será criado automaticamente. |
OverwriteReadOnlyFiles |
Opcional Boolean parâmetro. Substituir arquivos mesmo se eles estiverem marcados como arquivos somente de leitura |
Retries |
Opcional Int32 parâmetro. Especifica quantas vezes para tentar copiar, se todas as tentativas anteriores falharam. O padrão é zero. Observação: o uso de repetições pode mascarar um problema de sincronização no seu processo de compilação. |
RetryDelayMilliseconds |
Opcional Int32 parâmetro. Especifica o atraso entre as tentativas necessárias. O padrão é o argumento de RetryDelayMillisecondsDefault, o que é passado para o construtor CopyTask. |
SkipUnchangedFiles |
Opcional Boolean parâmetro. Se true, que ignora a cópia dos arquivos que são alterados entre a origem e destino. O Copy tarefa considera os arquivos a serem inalterado se eles tiverem o mesmo tamanho e a mesma última modificados tempo. Observação Se você definir esse parâmetro para true, você não deve usar a análise de dependência no recipiente de destino, porque que executa a tarefa somente se a última modificação tempos dos arquivos de origem são mais recentes do que a última modificação horários dos arquivos de destino. |
SourceFiles |
Obrigatório ITaskItem[] parâmetro. Especifica os arquivos para copiar. |
UseHardlinksIfPossible |
Opcional Boolean parâmetro. Se true, cria os Links de disco rígido os arquivos copiados em vez de copiar os arquivos. |
Comentários
Tanto o DestinationFolder ou DestinationFiles parâmetro deve ser especificado, mas não ambos. Se ambos forem especificados, a tarefa falhar, e um erro será registrado.
Além de para os parâmetros listados acima, esta tarefa herda os parâmetros da TaskExtension , a própria classe herda o Task classe. Para obter uma lista desses parâmetros adicionais e suas descrições, consulte Classe Base de TaskExtension.
Exemplo
O exemplo seguinte copia os itens do MySourceFiles a coleção de itens na pasta c:\MyProject\Destination.
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MySourceFiles Include="a.cs;b.cs;c.cs"/>
</ItemGroup>
<Target Name="CopyFiles">
<Copy
SourceFiles="@(MySourceFiles)"
DestinationFolder="c:\MyProject\Destination"
/>
</Target>
</Project>
O exemplo a seguir demonstra como fazer uma cópia recursiva. Este projeto copia todos o recursivamente arquivos do c:\MySourceTree para c:\MyDestinationTree, mantendo a estrutura de diretório.
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MySourceFiles Include="c:\MySourceTree\**\*.*"/>
</ItemGroup>
<Target Name="CopyFiles">
<Copy
SourceFiles="@(MySourceFiles)"
DestinationFiles="@(MySourceFiles->'c:\MyDestinationTree\%(RecursiveDir)%(Filename)%(Extension)')"
/>
</Target>
</Project>