Есть ли какая-либо задача MSbuild, чтобы проверить, содержит ли строка другую строку (похожую на string.contains)
У меня есть код Msbuild:
<Import Project="A.proj" Condition="$(BuildDefinition) =='Dist Staging to Dev' Or $(BuildDefinition) =='Dist Staging to Dev(Services Only)'"/>
Но мне было интересно, есть ли что-нибудь похожее, чтобы проверить, содержит ли строка какой-то текст, чтобы получить что-то похожее на:
<Import Project="A.proj" Condition="$(BuildDefinition) CONTAINS 'Dist Staging to Dev'"/>
Ответы
Ответ 1
MSBuild4: Как сказал Жюльен, в MSBUILD 4 возможно использование функции пользователя.
MSBuild 3.x: В предыдущих версиях возможно использование Tigris MsBuild Tasks
Вы можете использовать задачу RegexMatch и использовать регулярное выражение
Ответ 2
Если вы используете MSBuild 4, вы можете использовать Property function
<Import Project="A.proj"
Condition="$(BuildDefinition.Contains('Dist Staging to Dev'))"/>
(Дополнительная информация о функции свойств)
Ответ 3
MsBuild Ссылка на условия не имеет ничего о возможности функции "содержит". Похоже, что ваша первая версия - единственный вариант.