Passed to GetService to return a reference to IVsBooleanSymbolExpressionEvaluator.
Namespace:  Microsoft.VisualStudio.Shell.Interop
Assemblies:   Microsoft.VisualStudio.Shell.12.0 (in Microsoft.VisualStudio.Shell.12.0.dll)
  Microsoft.VisualStudio.Shell.Interop.11.0 (in Microsoft.VisualStudio.Shell.Interop.11.0.dll)
Syntax
'Declaration
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
<GuidAttribute("943A3169-D328-4E42-8AF6-7200E5E8C2E4")> _
Public Interface VsProjectCapabilityExpressionMatcher
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
[GuidAttribute("943A3169-D328-4E42-8AF6-7200E5E8C2E4")]
public interface VsProjectCapabilityExpressionMatcher
[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)]
[GuidAttribute(L"943A3169-D328-4E42-8AF6-7200E5E8C2E4")]
public interface class VsProjectCapabilityExpressionMatcher
[<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)>]
[<GuidAttribute("943A3169-D328-4E42-8AF6-7200E5E8C2E4")>]
type VsProjectCapabilityExpressionMatcher =  interface end
public interface VsProjectCapabilityExpressionMatcher
Remarks
Valid expression syntax is defined as:
- The capability expression, such as "(VisualC | CSharp) + (MSTest | NUnit)". 
- The "|" is the OR operator. 
- The "&" and "+" characters are both AND operators. 
- The "!" character is the NOT operator. 
- Parentheses force evaluation precedence order. 
- A null or empty expression is evaluated as a match. 
- Project capabilities may be any character except these reserved characters: "'`:;,+-*/\!~|&%$@^()={}[]<>? \t\b\n\r