title: How do I pass a property to MSBuild via command line that could be parsed into an item group?
body: <p>I have the following MSBuild script:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;Project DefaultTargets="Main" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"&gt;    
    &lt;PropertyGroup&gt;
      &lt;build_configurations&gt;test1;test2;test3&lt;/build_configurations&gt;
    &lt;/PropertyGroup&gt;    
    &lt;ItemGroup&gt;
      &lt;BuildConfigurations Include="$(build_configurations)" /&gt;
    &lt;/ItemGroup&gt;    
    &lt;Target Name="Main"&gt;    
      &lt;Message Text="Running with args: %(BuildConfigurations.Identity)" /&gt;
    &lt;/Target&gt;
  &lt;/Project&gt;
  </code></pre>
  
  <p>If I invoke the script without any parameters, I get the expected response:</p>
  
  <pre><code>Running with args: test1
  Running with args: test2
  Running with args: test3
  </code></pre>
  
  <p>However, when I attempt to set the property via command-line like so:</p>
  
  <pre><code>msbuild [myscript] /p:build_configurations=test5%3btest6%3btest7
  </code></pre>
  
  <p>I get the following:</p>
  
  <pre><code>Running with args: test5;test6;test7
  </code></pre>
  
  <p>So, it's not batching as expected.  I need to get MSBuild to create the item group with three items instead of one item.  How should I do that?  Thanks.</p>
  
  <p>P.S. The following article basically addresses my question except the case where I want to pass semicolon-separated values: <a href="http://sedodream.com/CommentView,guid,096a2e3f-fcff-4715-8d00-73d8f2491a13.aspx">http://sedodream.com/CommentView,guid,096a2e3f-fcff-4715-8d00-73d8f2491a13.aspx</a></p>