Condividi tramite


Compilare destinazioni specifiche all'interno di soluzioni tramite MSBuild.exe

È possibile usare MSBuild.exe per compilare destinazioni specifiche di progetti specifici in una soluzione.

Per compilare una destinazione specifica di un progetto specifico in una soluzione

  1. Nella riga di comando modificare la directory nella cartella della soluzione e digitare MSBuild.exe <SolutionName>.sln, ma non premere ancora INVIO. Usare il nome della soluzione.

  2. Specificare la destinazione dopo l'opzione -target: nel formato NomeProgetto<>:<TargetName>. Se il nome del progetto contiene i caratteri %, $, @, ;, ., (, ) o ', sostituirli con _ nel nome di destinazione specificato.

Se non si è certi delle destinazioni disponibili, è possibile ottenere un elenco di destinazioni disponibili per un singolo progetto richiamando MSBuild con l'opzione -targets (-ts). Ad esempio: MSBuild.exe -ts SomeProject.proj. L'opzione -targets o -ts è disponibile solo nei file di progetto, non nel file della soluzione.

Esempio

L'esempio seguente esegue la destinazione Rebuild del progetto NotInSlnFolder e quindi esegue la destinazione Clean del progetto InSolutionFolder, che si trova nella cartella della soluzione NewFolder.

msbuild SlnFolders.sln -target:NotInSlnfolder:Rebuild;NewFolder\InSolutionFolder:Clean

La compilazione di una destinazione specifica attiva anche altre destinazioni dipendenti da compilare.

Nota

Il percorso usato nell'opzione targets non è un percorso del file system. Si tratta di un percorso nella rappresentazione interna della soluzione e visibile in Esplora soluzioni. Ad esempio, non è possibile usare la sintassi del percorso del file system, . ad esempio o .. nell'opzione targets . Ecco perché un progetto a cui si fa riferimento in un altro percorso del file system, come NotInSlnFolder non richiede un percorso esplicito, ma un progetto all'interno di una cartella InSolutionFolder della soluzione. Le soluzioni possono anche avere cartelle create da Aggiungi>cartella soluzione in Visual Studio. Queste cartelle vengono usate per organizzare i progetti all'interno della soluzione quando vengono visualizzati in Esplora soluzioni in Visual Studio. Il layout nel file system può essere diverso dalla struttura di cartelle della soluzione. Vedere Cartelle della soluzione.

Risoluzione dei problemi

Se si vuole esaminare il progetto di soluzione, è possibile usare un'opzione di debug fornita da MSBuild per eseguire questa operazione. Impostare la variabile di ambiente MSBUILDEMITSOLUTION=1 e compilare la soluzione. Verrà generato un file MSBuild denominato <SolutionName>.sln.metaproj che mostra la visualizzazione interna di MSBuild della soluzione in fase di compilazione. È possibile esaminare questa visualizzazione per determinare quali destinazioni sono disponibili per la compilazione e altri dettagli di configurazione.

Non compilare con questa variabile di ambiente impostata a meno che non sia necessaria questa visualizzazione interna. Questa impostazione può causare problemi durante la compilazione dei progetti nella soluzione. Cercare invece nel log binario.