7

I have a msbuild target and it has a Import tag like this:

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

In contents of Company.LifeCycle.targets file, how can I get programatically the current directory (in this case is: C:\Program Files\MsBuild\Company) ??

I use VS 2008, .NET 3.5

Edit: I have seen the reference, How can I get current directory in msbuild script?, but not valid for me: $(MSBuildProjectDirectory give me this value, C:\Work\Company\Projects\Test001\ProyectSW3

Community
  • 1
  • 1
Kiquenet
  • 14,494
  • 35
  • 148
  • 243
  • Does this answer your question? [How can I get the current directory in an MSBuild script?](https://stackoverflow.com/questions/2111256/how-can-i-get-the-current-directory-in-an-msbuild-script) – Ian Kemp Nov 02 '20 at 15:11

2 Answers2

11

With MSBuild 4 you can use the new property 'MSBuildThisFileDirectory' see my blog http://sedodream.com/2010/03/11/MSBuild40ReservedProperties.aspx. If you are not using MSBuild 4, you cannot do this easily.

Sayed Ibrahim Hashimi
  • 43,864
  • 17
  • 144
  • 178
2

Your question has already been answered in another post here: MsBuild: Get current directory of targets. I hope the answers there satisfy you.

You can pretty much use MSBuildProjectDirectory which will give you the path to your current project file and you can build upon that.

Community
  • 1
  • 1
Dennis G
  • 21,405
  • 19
  • 96
  • 133