2011-03-02 26 views
11

Ho creato un bersaglio costruire in un file di progetto (App.Tests.csproj) che importa un progetto:Il progetto MSBuild non verrà caricato se l'importazione fallisce?

<Import Project ="$(Location)\Special.Tasks"/> 

Questi compiti esistono solo sul nostro server di generazione, quella posizione non esiste sui nostri sviluppatori lavorano stazione. Il build target verrà sempre eseguito solo dal server di build.

Il mio problema è che quando provo ad aprire lo sln (contenente il progetto con il target di compilazione) su una workstation senza Special.Tasks il progetto non verrà caricato.

Non voglio distribuire i Special.Tasks a ciascuna workstation.

C'è un modo per indicare a MSBuild o Visual Studio di caricare anche se un'importazione fallisce?

+0

Grazie per ottenere una risposta a questa! Nel mio caso, è stato un problema perché il mio progetto dipendeva da un file .targets fornito da un pacchetto nuget che sarebbe stato installato solo come parte della build. – Sandy

risposta

19

Basta aggiungere condizioni alle Import target

<Import Project ="$(Location)\Special.Tasks" 
     Condition="Exists('$(Location)\Special.Tasks')"/> 
Problemi correlati