2011-04-10 13 views
6

que estoy tratando de empezar a tomar ventaja de la MSBuild Community Tasks tan a la derecha después de instalar el paquete .msi He importado MSBuild.Community.targets dentro del elemento <Project> esta manera:dependencias locales para las tareas de MSBuild Comunidad dentro de Visual Studio 2010

<Import Project="lib\MSBuild.Community.Tasks.targets" /> 

Curiosamente, he notado que dicho archivo tiene una referencia a la ruta de instalación local en MSBuildExtensionsPath y, dado que en lugar de mantener las dependencias de código lo más limpias posible, estoy dispuesto a pagar la sobrecarga de distribuirlas/versionarlas en cada proyecto, estaba preguntándose si es posible reemplazar la ubicación predeterminada/de instalación con un proyecto-rel ativo en el archivo .cproj?

La disposición real sería como:

Dotnet.Samples.Foobar 
\src 
    Foobar.cs 
\lib 
    MSBuild.Community.Tasks.targets 
    MSBuild.Community.Tasks.dll 

Cualquier orientación será apreciado sinceramente. Muchas gracias por cualquier sugerencia que quieras compartir.

Respuesta

7

En MSBuild.Community.Tasks.targets especificó la ruta a la dll.

<PropertyGroup> 
    <MSBuildCommunityTasksPath Condition="'$(MSBuildCommunityTasksPath)' == ''">$(MSBuildExtensionsPath)\MSBuildCommunityTasks</MSBuildCommunityTasksPath> 
    <MSBuildCommunityTasksLib>$(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll</MSBuildCommunityTasksLib> 
</PropertyGroup> 

Puede anular la ruta en el proyecto.

<PropertyGroup> 
    <MSBuildCommunityTasksPath>lib</MSBuildCommunityTasksPath>  
</PropertyGroup> 

Y dejar importar el mismo:

<Import Project="lib\MSBuild.Community.Tasks.targets" /> 
+0

muchas gracias por el aporte, funcionó como se esperaba. –

Cuestiones relacionadas