9
A
回答
26
你可以在目標上使用Exists條件嗎?
只有在msbuild文件所在的同一目錄下有一個名爲Testing的目錄或文件時,纔會執行OnlyIfExists目標。
<ItemGroup>
<TestPath Include="Testing" />
</ItemGroup>
<Target Name="OnlyIfExists" Condition="Exists(@(TestPath))">
<Message Text="This ran!" Importance="high" />
</Target>
8
有沒有必要使用擴展包,MSBuild可以處理這很好。您需要考慮是否這是可能作爲構建的一部分創建或刪除的文件夾。如果是這樣,那麼你想要確保使用在目標中聲明的動態項目組(如果檢查多個文件夾)或者如果只檢查一個文件夾就可以使用路徑。此示例顯示了兩種情況:
<Target Name="MyTarget">
<!-- single folder with property -->
<PropertyGroup>
<_CheckOne>./Folder1</_CheckOne>
<_CheckOneExistsOrNot
Condition="Exists('$(_CheckOne)')">exists</_CheckOneExistsOrNot>
<_CheckOneExistsOrNot
Condition="!Exists('$(_CheckOne)')">doesn't exist</_CheckOneExistsOrNot>
</PropertyGroup>
<Message
Text="The folder $(_CheckOne) $(_CheckOneExistsOrNot)"
/>
<!-- multiple folders with items -->
<ItemGroup>
<_CheckMultiple Include="./Folder2" />
<_CheckMultiple Include="./Folder3" />
</ItemGroup>
<Message
Condition="Exists('%(_CheckMultiple.Identity)')"
Text="The folder %(_CheckMultiple.Identity) exists"
/>
<Message
Condition="!Exists('%(_CheckMultiple.Identity)')"
Text="The folder %(_CheckMultiple.Identity) does not exist"
/>
</Target>
相關問題
- 1. 使用Symfony驗證是否上傳了文件擴展名?
- 2. MSBuild擴展包
- 3. 驗證文件是它聲稱是它的文件擴展名
- 4. 在Symfony3上驗證文件擴展名
- 5. 驗證圖像文件是否存在
- 6. MSBuild,擴展包和TfsVersion
- 7. MSBuild擴展包拉鍊
- 8. 驗證上傳的文件擴展名
- 9. Symfony3中的文件擴展名驗證
- 10. Jquery驗證文件擴展插件
- 11. 驗證文件擴展名上傳多個文件上的文件夾
- 12. 如何驗證SSIS包中是否存在平面文件?
- 13. 驗證文件擴展只有當文件字段不是空的使用jQuery驗證插件
- 14. 使用文件夾啓動Firefox擴展
- 15. Drupal:驗證文件擴展名嗎?
- 16. 驗證文件類型擴展
- 17. 如何使用VB腳本驗證文件是否存在
- 18. 驗證在Firefox中上傳文件的文件擴展名
- 19. 使用JSSE驗證SSL證書的擴展驗證(EV)
- 20. WPF擴展工具包嚮導驗證
- 21. 檢查包/項目中是否存在文件/文件夾
- 22. Zend_File_Transfer_Adapter_Http擴展驗證
- 23. MSBuild擴展包簡單的教程
- 24. MSBuild展平文件夾結構
- 25. 獲取NuGet包文件夾中的MSBuild
- 26. 擴展文件夾(LiveFolder?)
- 27. Python:獲取包含特定文件擴展名的文件夾
- 28. 使用chrome擴展和Django驗證
- 29. 如何使MVC AttributeFilter驗證張貼的文件擴展名
- 30. Alfresco:當存在Web腳本擴展文件夾時,爲什麼沒有腳本擴展文件夾?
非常感謝。這很好,很清楚。 – 2011-02-24 23:00:49