我有一个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
答案 0 :(得分:9)
使用MSBuild 4,您可以使用新属性“MSBuildThisFileDirectory”查看我的博客http://sedodream.com/2010/03/11/MSBuild40ReservedProperties.aspx。如果您不使用MSBuild 4,则无法轻松完成此操作。
答案 1 :(得分:2)
您的问题已在另一篇文章中得到解答:MsBuild: Get current directory of targets。我希望那里的答案能满足你。
您几乎可以使用MSBuildProjectDirectory
,它将为您提供当前项目文件的路径,您可以在此基础上进行构建。