2010-10-05 12 views
6

tengo un objetivo msbuild y tiene una etiqueta de importación como esto:MSBUILD: Obtienen el directorio actual de objetivos

<Import Project="$(MSBuildExtensionsPath)\Company\Company.LifeCycle.targets" /> 

En el contenido del archivo Company.LifeCycle.targets, ¿cómo puedo obtener programáticamente el directorio actual (en este caso es: C: \ Program Files \ MsBuild \ Company) ??

utilizo VS 2008, .NET 3.5

Edición: He visto la referencia, How can I get current directory in msbuild script?, pero no es válido para mí: $ (MSBuildProjectDirectory dame este valor, C: \ Trabajo \ Empresa \ Projects \ Test001 \ ProyectSW3

Respuesta

2

su pregunta ya ha sido contestada en otro post aquí:.. MsBuild: Get current directory of targets espero las respuestas allí te satisfagan

usted puede utilizar casi MSBuildProjectDirectory que le dará la ruta a su archivo de proyecto actual y le puede construir sobre eso.

8

Con MSBuild 4 puede utilizar la nueva propiedad 'MSBuildThisFileDirectory' en mi blog http://sedodream.com/2010/03/11/MSBuild40ReservedProperties.aspx. Si no está utilizando MSBuild 4, no puede hacer esto fácilmente.

+0

Uso msbuild 3.5; el código fuente no está disponible para obtener la nueva propiedad 'MSBuildThisFileDirectory' como MsBuild Community Tasks u otras extensiones en codeplex ?? – Kiquenet

+1

No, esta es una actualización de MSBuild. En lugar de obtener el camino, debe pasar a través de una propiedad. –

+0

@SayedIbrahimHashimi, su blog no tiene exactamente claro cómo ejecutar el proyecto de muestra allí para ver las propiedades reservadas. –

Cuestiones relacionadas