MsBuild:获取目标的当前目录

Kiq*_*net 6 directory msbuild path msbuild-task targets

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

<Import Project="$(MSBuildExtensionsPath)\Company\Company.LifeCycle.targets" />
Run Code Online (Sandbox Code Playgroud)

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

我使用VS 2008,.NET 3.5

编辑:我看过参考资料,如何在msbuild脚本中获取当前目录?,但对我无效:$(MSBuildProjectDirectory给我这个值,C:\ Work\Company\Projects\Test001\ProyectSW3

Say*_*imi 10

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


Den*_*s G 2

您的问题已在此处的另一篇文章中得到解答:MsBuild: Get current directory ofargs。我希望那里的答案能让您满意。

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