Basta lanciare questo qui nel caso in cui qualcun altro affronta nuovamente questo problema. Sembra che quando si installa MSBuildCommunityTasks tramite NuGet, una soluzione .build venga aggiunta alla soluzione, che si consiglia di effettuare il check-in con il codice sorgente. Tuttavia, il file MSBuild.Community.Tasks.targets ha un elemento <MSBuildCommunityTasksPath>
, che punta alla cartella c: \ Programmi (x86), che non è corretta. Questa cartella è valida quando si installa MsBuildCommunityTasks utilizzando un MSI. Questo non è valido nel caso di Nuget, che installa MsBuildCommunityTasks nella cartella dei pacchetti della soluzione. Così ho finito per la modifica del file .targets, e ha cambiato MSBuildCommunityTasksPath
per puntare a:
<MSBuildCommunityTasksPath>$(SolutionDir)\packages\MSBuildTasks.1.4.0.56\tools</MSBuildCommunityTasksPath>
Ancora nessun dadi. Così alla fine, ho solo cura di file di progetto web, e ha cambiato l'elemento di importazione per MSBuildCommunityTasks a questo:
<Import Project="$(SolutionDir)\packages\MSBuildTasks.1.4.0.56\tools\MSBuild.Community.Tasks.Targets"/>
Questo funziona, dal momento che dice direttamente il progetto per cercare il file nella cartella .Targets pacchetti. Tenere presente che se si aggiorna la versione MSBuildTasks, sarà necessario modificare l'elemento Importa. Sono un noob di MsBuild, quindi se qualcuno può dirmi come automatizzare questo, sarebbe fantastico!
La risposta è stata molto utile, ma ho scoperto che la directory in cui NuGet colloca il file target è attualmente: '$ (SolutionDir) \ build', quindi, se le impostazioni di cui sopra non funzionano, vi consiglio di aggiornare la risposta. impostare la seguente: ' $ (SolutionDir) \ costruire MSBuildCommunityTasksPath>' –
providencemac
sembra lo script PowerShell nel pacchetto NuGet che aggiunge la cartella '.build' è stato rimosso dalla versione 1.5, ma la 'Guida introduttiva. 'la guida suggerisce ancora di usarlo. Ho sollevato un [problema] (https://github.com/loresoft/msbuildtasks/issues/258). – Neo