6

我有一个 msbuild 目标,它有一个 Import 标签,如下所示:

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

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

我使用 VS 2008,.NET 3.5

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

4

2 回答 2

10

使用 MSBuild 4,您可以使用新属性“MSBuildThisFileDirectory”,请参阅我的博客http://sedodream.com/2010/03/11/MSBuild40ReservedProperties.aspx。如果您不使用 MSBuild 4,则无法轻松做到这一点。

于 2010-10-05T14:31:50.900 回答
2

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

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

于 2010-10-05T10:12:27.013 回答