title: MSBuild batching multiple inputs into each output
body: <p>Is it possible to dependency-check multiple inputs for each output when using MSBuild batching?</p>
  
  <p>I thought I'd found a solution to this by constructing my inputs list in the metadata of the output file, as follows:</p>
  
  <pre><code>&lt;ItemGroup&gt;
    &lt;Foo Include="output1"&gt;
      &lt;Inputs&gt;input1a;input1b&lt;/Inputs&gt;
    &lt;/Foo&gt;
    &lt;Foo Include="output2"&gt;
      &lt;Inputs&gt;input2a;input2b&lt;/Inputs&gt;
    &lt;/Foo&gt;
  &lt;/ItemGroup&gt;
  
  &lt;Target Name="_CompileFoo" Outputs="@(Foo)" Inputs="%(Foo.Inputs)"&gt;
      &lt;FooCompiler Src="%(Foo.Inputs)" Out="@(Foo)" /&gt;
  &lt;/Target&gt;
  </code></pre>
  
  <p>However, MSBuild complains that the file "input1a;input1b" does not exist. It seems that the string->items conversion takes place before the expression evaluation.</p>
  
  <p>Is there any solution to this other than writing my own dependency checking?</p>