title: Nuget: What is the purpose of the <package requireReinstallation /> attribute in packages.config?
body: <p>I upgraded my C# project (which already had some nuget packages) from 4.0 to 4.5.2. I saw that some <code>&lt;package /&gt;</code> elements now contain an additional attribute <code>requireReinstallation=&quot;true&quot;</code>.</p>
  <ul>
  <li><p>What is the purpose of this?</p>
  </li>
  <li><p>Why is that some packages have while others don't.</p>
  </li>
  </ul>
  <p>Before</p>
  <pre><code>&lt;package id=&quot;NLog&quot; version=&quot;3.1.0.0&quot; targetFramework=&quot;net40&quot; /&gt;
  </code></pre>
  <p>After</p>
  <pre><code>&lt;package id=&quot;NLog&quot; version=&quot;3.1.0.0&quot; targetFramework=&quot;net40&quot; requireReinstallation=&quot;true&quot; /&gt;
  </code></pre>