views:

38

answers:

2

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, http://stackoverflow.com/questions/2111256/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

+1  A: 

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.

moontear
+1  A: 

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
I use msbuild 3.5; source code not available for get new property 'MSBuildThisFileDirectory' like MsBuild Community Tasks or another extensions in codeplex ??
alhambraeidos
No this is an update to MSBuild itself. Instead of getting the path it needs to be passed in via a property.
Sayed Ibrahim Hashimi