Нет необходимости использовать пакет расширений, 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>