title: MSBuild conditions based on imported properties
body: <p>I have a solution that has multiple projects, and I'd like them all to be able to access a set of shared properties that have been defined once in a common file at the solution level.</p>
  
  <p>This mostly works fine using the code below and I can use the imported properties in the BeforeBuild target, however the problem I'm having is that I can't use the imported properties in conditions.</p>
  
  <p>So I have the following in a CommonSettings.targets file in the solution folder:</p>
  
  <pre><code>&lt;Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;
      &lt;Target Name="CommonSettingsTarget"&gt;
          &lt;PropertyGroup&gt;
              &lt;MyCustomProperty&gt;Sample&lt;/MyCustomProperty&gt;
          &lt;/PropertyGroup&gt;
      &lt;/Target&gt;
  &lt;/Project&gt;
  </code></pre>
  
  <p>In my project file I have:</p>
  
  <pre><code>&lt;Project ToolsVersion="14.0" DefaultTargets="Build" InitialTargets="CommonSettingsTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;
    &lt;Import Project="$(SolutionDir)CommonSettings.targets" /&gt;
  
    &lt;ItemGroup&gt;
      &lt;EmbeddedResource Include="EmbeddedDocument.txt" Condition=" '$(MyCustomProperty)' == 'Sample' " /&gt;
    &lt;/ItemGroup&gt;
  
    &lt;Target Name="BeforeBuild"&gt;
      &lt;Message Text="MyCustomProperty='$(MyCustomProperty)'" Importance="high" /&gt;
    &lt;/Target&gt;
  &lt;/Project&gt;
  </code></pre>
  
  <p>In the above, I can see my imported property displayed in the output window as "MyCustomProperty='Sample'" which is great, however when it's used as part of a condition (to optionally include an embedded resource), the condition is never satisfied.</p>
  
  <p>Is there any way to make the imported properties work with conditions?</p>