MsBuild:获取目标的当前目录

时间:2010-10-05 10:01:23

标签: msbuild path directory msbuild-task targets

我有一个msbuild目标,它有一个像这样的Import标签:

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

在Company.LifeCycle.targets文件的内容中,如何以编程方式获取当前目录(在本例中为: C:\ Program Files \ MsBuild \ Company )??

我使用VS 2008,.NET 3.5

编辑:我看过引用How can I get current directory in msbuild script?,但对我无效:$(MSBuildProjectDirectory给我这个值,C:\ Work \ Company \ Projects \ Test001 \ ProyectSW3

2 个答案:

答案 0 :(得分:9)

使用MSBuild 4,您可以使用新属性“MSBuildThisFileDirectory”查看我的博客http://sedodream.com/2010/03/11/MSBuild40ReservedProperties.aspx。如果您不使用MSBuild 4,则无法轻松完成此操作。

答案 1 :(得分:2)

您的问题已在另一篇文章中得到解答:MsBuild: Get current directory of targets。我希望那里的答案能满足你。

您几乎可以使用MSBuildProjectDirectory,它将为您提供当前项目文件的路径,您可以在此基础上进行构建。