2010-10-05 66 views
6

我有一個MSBuild的目標當前目錄下,它有這樣的進口標籤:的MSBuild:獲取目標

<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:\工作\公司\項目\ Test001 \ ProyectSW3

回答

2

你的問題已經在另一篇文章在這裏找到答案:。MsBuild: Get current directory of targets我希望能有答案你滿意

你幾乎可以使用MSBuildProjectDirectory這將給你的路徑,當前項目文件,你可以建立在此基礎上

8

有了MSBuild 4,你可以使用新的屬性'MSBuildThisFileDirectory'參見我的博客http://sedodream.com/2010/03/11/MSBuild40ReservedProperties.aspx。如果你不使用MSBuild 4,你不能輕易做到這一點。

+0

我使用msbuild 3.5;源代碼不可用於獲得新的屬性'MSBuildThisFileDirectory'像MsBuild社區任務或其他擴展在codeplex? – Kiquenet 2010-10-05 20:05:42

+1

不,這是MSBuild本身的更新。它不需要獲取路徑,而需要通過屬性傳遞路徑。 – 2010-10-05 20:21:18

+0

@SayedIbrahimHashimi,您的博客並不完全清楚如何在那裏運行示例項目以查看保留的屬性。 – 2015-03-13 19:07:23