Solo tirando esto aquí en caso de que alguien más se enfrente nuevamente a este problema. Parece que cuando instala MSBuildCommunityTasks a través de NuGet, se agrega una carpeta .build a la solución, que se recomienda registrar con el código fuente. Sin embargo, el archivo MSBuild.Community.Tasks.targets tiene un elemento <MSBuildCommunityTasksPath>
, que apunta a la carpeta c: \ Archivos de programa (x86), que es incorrecta. Esta carpeta es válida cuando instala MsBuildCommunityTasks usando un MSI. Esto no es válido en el caso de Nuget, que instala MsBuildCommunityTasks en la carpeta de paquetes de su solución. Así que acabé modificando el archivo .targets, y ha cambiado para que apunte a MSBuildCommunityTasksPath
:
<MSBuildCommunityTasksPath>$(SolutionDir)\packages\MSBuildTasks.1.4.0.56\tools</MSBuildCommunityTasksPath>
Aún no dados. Así que, finalmente, me acaba de editar por el archivo de proyecto web, y ha cambiado el elemento de importación para MSBuildCommunityTasks a esto:
<Import Project="$(SolutionDir)\packages\MSBuildTasks.1.4.0.56\tools\MSBuild.Community.Tasks.Targets"/>
Esto funciona, ya que le dice directamente el proyecto para buscar el archivo en la carpeta .Targets paquetes. Tenga en cuenta que si actualiza la versión MSBuildTasks, tendrá que cambiar el elemento Importar. Soy un novato de MsBuild, así que si alguien me puede decir cómo automatizar esto, ¡sería genial!
Esta respuesta fue muy útil, pero encontré que el directorio donde NuGet coloca el archivo de objetivos es actualmente: '$ (SolutionDir) \. Build', por lo que si la configuración anterior no funciona, recomiendo actualizar la respuesta a establezca lo siguiente: ' $ (SolutionDir) \. build MSBuildCommunityTasksPath>' –
providencemac
Parece que el script de PowerShell en el paquete NuGet que agrega la carpeta '.build' se ha eliminado desde la versión 1.5, pero el 'Getting Started 'guía todavía sugiere usarlo. He planteado un [problema] (https://github.com/loresoft/msbuildtasks/issues/258). – Neo