Насколько я знаю, вы можете использовать строковые функции (например, Contains
в вашем коде) только для свойств , но не для метаданных элемента .Но вы пытались вызвать Contains
для %(Filename)
, и это метаданные Content
item.
Для получения более подробной информации см. ссылку на MSDN .В последнем абзаце строго сказано:
Функции свойств могут не отображаться в значениях метаданных.Например, %(Compile.FullPath.Substring(0,3))
недопустимо.
Однако вы можете использовать статические методы класса Regex
.Я считаю, что вам нужен следующий код:
<Target Name="Test" AfterTargets="Build">
<Message Text="Project $(ProjectName) Test PostBuild" Importance="high" />
<Message Text="%(Content.FullPath)" Condition=" $([System.Text.RegularExpressions.Regex]::IsMatch('%(FullPath)', '.+\.css\.aspx')) " Importance="high" />
</Target>
Если нет, вы можете изменить регулярное выражение любым удобным вам способом.