我需要轉換函數「path :: combine(path1,path2)」。如果你有一些想法,請幫助我。謝謝!如何將NAnt函數「path :: combine(path1,path2)」轉換爲MSBuild?
2
A
回答
2
使用CombinePath任務:
<Project DefaultTargets="DefaultTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MyBasePath>.\a\b</MyBasePath>
<MySecondPath>c\d</MySecondPath>
</PropertyGroup>
<Target Name="Combine">
<PropertyGroup>
<MySecondPath Condition="$(MySecondPath)==''">.\</MySecondPath>
</PropertyGroup>
<CombinePath BasePath="$(MyBasePath)" Paths="$(MySecondPath)">
<Output TaskParameter="CombinedPaths" PropertyName="CombineOutput" />
</CombinePath>
</Target>
<Target Name="DefaultTarget" DependsOnTargets="Combine">
<Message Text="Result from Combine is $(CombineOutput)" />
</Target>
</Project>
+0
謝謝!這很奇怪,因爲我在http://msdn.microsoft.com/en-us/library/7z253716(v=VS.90).aspx查找MSBuild任務參考中的任務。微軟沒有列出
+1
我測試過我發現:當第二條路徑爲空時,CombinePath不會返回第一條路徑,所以我們應該注意到與NAnt path :: combine相比這個小差異。 – 2010-03-25 11:20:35
0
更新這個帖子較新的MSBuild的版本。從MSBuild的4.0及以上,你可以使用property functions
$([System.IO.Path]::Combine($(Path1),$(Path2)))
相關問題
- 1. 如何將NAnt中的'if'條件轉換爲MSBuild?
- 2. 從http:// localhost/path1/path2獲取$ _GET字符串get3 =值
- 3. 將Makefiles轉換爲MsBuild
- 4. MSBuild vs nant
- 5. NAnt使用MSBuild
- 6. NAnt MSBuild版本
- 7. 如何將SERIESSUM函數轉換爲VB6?
- 8. 如何將javascript函數轉換爲jquery
- 9. 如何將此函數轉換爲php?
- 10. 如何將此函數轉換爲宏?
- 11. 如何將函數轉換爲MooTools?
- 12. 如何將此函數轉換爲nodejs
- 13. 如何將表名轉換爲函數?
- 14. 如何將JavaScript函數轉換爲JQuery
- 15. 如何將函數轉換爲str?
- 16. 如何將函數體轉換爲lambda?
- 17. 如何將AVERAGEIFS函數轉換爲MATLAB?
- 18. 將MSSQL'FOR XML PATH'轉換爲Oracle
- 19. 如何將雙參數函數轉換爲單參數函數?
- 20. 將SQL轉換爲函數
- 21. 如何使用C#函數將XML轉換爲XSLT轉換
- 22. 如何將我的轉換函數轉換爲lambda表達式?
- 23. 如何將此函數轉換爲數組函數?
- 24. Cakephp Set :: combine。轉換一個數組
- 25. 將excel函數轉換爲php函數
- 26. 將C函數轉換爲Lua函數
- 27. 將C函數轉換爲Python函數
- 28. 將Javascript函數轉換爲PHP函數
- 29. 將Python函數轉換爲Lua函數
- 30. 將函數轉換爲成員函數?
這是真的,該CombinePath任務不是在摘要頁面,但只有在在「MSBuild任務引用」樹導航上市。 – Filburt 2010-03-25 12:21:52
我明白你的意思了。看起來MSBuild Team最近在列表中添加了它(按字母順序顯示)。 – 2010-03-26 16:14:55
我更新了我的示例,如果將空路徑傳遞給CombinePath任務,應該返回BasePath。 – Filburt 2010-03-29 11:06:00