title: Difference between 2003 and current MSBuild schemas?
body: <p>Our project files have been around for a while, and they include <code>xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;</code>. I'm trying to figure out how to perform a <a href="https://msdn.microsoft.com/en-us/library/7szfhaft.aspx" rel="nofollow noreferrer">substring match in a <code>CONDITION</code></a> so I thought I would look at the schema to see if something jumped out at me.</p>
  
  <p>Attempting to fetch the schema results in a 404:</p>
  
  
  
  <pre><code>$ wget http://schemas.microsoft.com/developer/msbuild/2003
  --2016-10-04 22:44:43--  http://schemas.microsoft.com/developer/msbuild/2003
  Resolving schemas.microsoft.com (schemas.microsoft.com)... 65.54.226.187
  Connecting to schemas.microsoft.com (schemas.microsoft.com)|65.54.226.187|:80... connected.
  HTTP request sent, awaiting response... 404 Not Found
  </code></pre>
  
  <p>When I visited in a Web Browser, Microsoft returned the following message to me, indicating the schema used to be available but its no longer available:</p>
  
  <blockquote>
    <p>The resource you are looking for has been removed, had its name
    changed, or is temporarily unavailable.</p>
  </blockquote>
  
  <p>Microsoft has documentation at <a href="http://msdn.microsoft.com/en-us/library/5dy88c2e.aspx" rel="nofollow noreferrer">MSBuild Project File Schema Reference</a>, but it does not list the schemas available, the schema's URL or the differences between them.</p>
  
  <p>I'm guessing we should <em>not</em> be using the 2003 schema since it appears to be deprecated or withdrawn, but I don't know much more beyond that. My questions are:</p>
  
  <ul>
  <li>What schema should we be using?</li>
  <li>What is the URL to the schema?</li>
  <li>What are the differences between the 2003 schema and the schema I should be using?</li>
  </ul>
  
  <hr>
  
  <p>The versions seems to be more relevant now that we are trying to integrate with AppVeyor. We are having problems with automated testing (<a href="https://stackoverflow.com/q/43423761/608639">Can't perform 64-bit testing under AppVeyor?</a> and <a href="https://stackoverflow.com/q/45474857/608639">Why does AppVeyor use VS2010 tools for VS2015 image?</a>), and AppVeyor support is suggesting a change in version numbers in the XML header. Below is the head of a typical VCXPROJ file.</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;
  </code></pre>