2010-03-30 1 views
8

Sto utilizzando alcune attività personalizzate da MSBuild Extension Pack (MEP). I miei progetti sono divisi tra molti file. In questi file importare le attività MEP utilizzando (due o tre volte in due/tre file). Ricevo il messaggio di avviso quando si fa questo tipo:Come importare le attività personalizzate più volte senza un messaggio di avviso?

... avvertimento MSB4011: "C: \ Programmi Files \ MSBuild \ ExtensionPack \ MSBuild.ExtensionPack.tasks" non può essere importato di nuovo. Era già importato a "D: ... \ Tasker.proj (5,3)". Questo è molto probabilmente un errore di creazione di build. Questa importazione successiva sarà ignorata.

Qualcuno sa come sbarazzarsi di questo messaggio di avviso? Per favore aiuto!

+1

Um ... Non importa più di una volta? – Oded

+1

Ho archiviato https://connect.microsoft.com/VisualStudio/feedback/details/726728/msbuild-warning-msb4011-for-multiple-imports-is-harmful-for-property-sheets#tabs per questo problema. –

+0

Inoltre, controlla il tuo csproj per le importazioni duplicate. –

risposta

12

La soluzione per questa domanda è la seguente: Chiamare l'importazione con condizione per verificare l'esistenza di una proprietà univoca definita nel file di progetto considerato. Spero che questo ti aiuti!

+6

Solo per aggiungere un commento con uno snippet di codice da cui è stata posta la domanda altrove: ' 'dove' Tasks.targets 'ha in esso' true ' – Chris

+1

E se voglio davvero includere smth due volte? Forse con diversi parametri. Le persone di C++ lo farebbero molto. – hypersw

+0

Anche le condizioni non vengono rivalutate durante l'esecuzione di build in VS: https://msdn.microsoft.com/en-us/library/92x05xfs.aspx – Ivan

0

Questo avviso mi è successo quando ho compilato la mia applicazione da VS IDE e dallo strumento MSBuild in parallelo. Suppongo che lo stesso possa accadere quando si lavora con più di una finestra VS sullo stesso progetto

0

Eliminare il file generato automaticamente yourproject.nuget.props e l'avviso scompare.