Compartilhar via


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>

Consulte também

Conceitos

Tarefas do MSBuild

Outros recursos

Referência de tarefa do MSBuild