Condividi tramite


Attività Copy

Copia i file in un nuovo percorso del file system.

Parametri

Nella tabella riportata di seguito sono descritti i parametri dell'attività Copy.

Parametro

Descrizione

CopiedFiles

Parametro di output ITaskItem[] facoltativo.

Contiene gli elementi copiati.

DestinationFiles

Parametro ITaskItem[] facoltativo.

Specifica l'elenco di file in cui copiare i file di origine. Si prevede che esista un mapping uno-a-uno tra questo elenco e quello specificato nel parametro SourceFiles. In altri termini, il primo file specificato in SourceFiles verrà copiato nel primo percorso specificato in DestinationFiles e così via.

DestinationFolder

Parametro ITaskItem facoltativo.

Specifica la directory in cui si desidera copiare i file. Deve trattarsi di una directory, non di un file. Se la directory non esiste, viene creata automaticamente.

OverwriteReadOnlyFiles

Parametro Boolean facoltativo.

Sovrascrive i file anche se sono contrassegnati come file di sola lettura

Retries

Parametro Int32 facoltativo.

Specifica il numero di tentativi da eseguire per la copia, se tutti i tentativi precedenti hanno avuto esito negativo. Il valore predefinito è zero.

Nota:    L'utilizzo di nuovi tentativi può nascondere un problema di sincronizzazione nel processo di compilazione.

RetryDelayMilliseconds

Parametro Int32 facoltativo.

Specifica il ritardo tra eventuali nuovi tentativi necessari. Imposta come valore predefinito l'argomento RetryDelayMillisecondsDefault, che viene passato al costruttore CopyTask.

SkipUnchangedFiles

Parametro Boolean facoltativo.

Se il parametro è impostato su true, i file rimasti invariati dall'origine alla destinazione non vengono copiati. L'attività Copy considera invariati i file con le stesse dimensioni e la stessa ora dell'ultima modifica.

Nota

Se questo parametro viene impostato su true, si consiglia di non utilizzare l'analisi delle dipendenze nella destinazione contenitore, perché in questo caso l'attività viene eseguita soltanto se l'ora dell'ultima modifica dei file di origine è più recente rispetto a quella dei file di destinazione.

SourceFiles

Parametro ITaskItem[] obbligatorio.

Specifica i file da copiare.

UseHardlinksIfPossible

Parametro Boolean facoltativo.

Se true, vengono creati dei collegamenti reali per i file copiati invece di copiare i file.

Note

È necessario specificare il parametro DestinationFolder o DestinationFiles, ma non entrambi. Se vengono specificati entrambi, l'attività avrà esito negativo e verrà registrato un errore.

Oltre ai parametri sopra elencati, questa attività eredita i parametri dalla classe TaskExtension, che eredita dalla classe Task. Per un elenco di tali parametri aggiuntivi e le relative descrizioni, vedere Classe di base TaskExtension.

Esempio

Nell'esempio riportato di seguito gli elementi della raccolta MySourceFiles vengono copiati nella cartella 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>

Nell'esempio riportato di seguito viene illustrato come creare una copia ricorsiva. Tutti i file del progetto vengono copiati in modo ricorsivo da c:\MySourceTree a c:\MyDestinationTree, mantenendo al tempo stesso la struttura di directory.

<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>

Vedere anche

Concetti

Attività di MSBuild

Altre risorse

Riferimenti delle attività MSBuild