title: NuGet Package updates & Package.config remove issue (TF400024)
body: <p>We are having issues with NuGet package updates and TFS source control integration lately. This is causing allot of hassles with our team and making us hesitate in adopting NuGet packages fully. </p>
  
  <p>The issue/bug: instead of updating certain projects "package.config" files, they are being removed from the file system (and marked as deleted within TFS source control) I can't work out why.</p>
  
  <p><em>The behavior we are seeing is the following</em>:</p>
  
  <ol>
  <li>Open in solution (approx. 18 projects) in VS.NET 2012 </li>
  <li>Initiate a solution level package update to the latest version via the Package Management Dialog, as described <a href="http://docs.nuget.org/docs/start-here/managing-nuget-packages-using-the-dialog" rel="nofollow noreferrer">here</a>.
  
  <ul>
  <li>The package.config exists and part of the project(s) within said selected solution.</li>
  <li>Theses packages.configs are NOT checked out of TFS yet.</li>
  </ul></li>
  <li>NuGet package update occurs, select package.config are removed from project and marked as deleted within TFS and references remain in project updated to current version.</li>
  <li>Obviously, this means that when I check in the solution and project the packages.config will be removed, making future updates (I believe) painful as above project will fall off NuGet's radar.</li>
  <li><p>I notice this and Undo Check-Out &amp; get this error:</p>
  
  <pre><code>TF400024: The change on xxx\packages.config cannot be undone because a file already exists at xxx\packages.config. The file must be deleted from disk for the undo to succeed.
  </code></pre>
  
  <ul>
  <li>Interesting, to TFS the file is marked as deleted yet it still resides on my file system?</li>
  </ul></li>
  </ol>
  
  <p>The output provided by Package Manager listed below does not indicate any issues for the project in which the package.config was removed.</p>
  
  <pre><code>Updating 'NugetPackageAssemblyA' from version '1.5.18.0' to '1.5.23.0' in project 'CommonUnitTests'.
   Removed reference 'AssemblyAA.dll' from project 'CommonUnitTests'
   Removed reference 'AssemblyBB.dll' from project 'CommonUnitTests'
   Removed reference 'AssemblyCC.dll' from project 'CommonUnitTests'
   Removed reference 'NugetPackageAssemblyA.dll' from project 'CommonUnitTests'
   Added file 'packages.config'.
   Removed file 'packages.config'
   Successfully removed 'NugetPackageAssemblyA 1.5.18.0' from CommonUnitTests.
   Added reference 'AssemblyAA' to project 'CommonUnitTests'
   Added reference 'AssemblyBB' to project 'CommonUnitTests'
   Added reference 'AssemblyCC' to project 'CommonUnitTests'
   Added reference 'NugetPackageAssemblyA' to project 'CommonUnitTests'
   'packages.config' already exists. Skipping...
   Successfully added 'NugetPackageAssemblyA 1.5.23.0' to CommonUnitTests.
  </code></pre>
  
  <p><strong>DEV. Environment Stats:</strong></p>
  
  <ul>
  <li>Nuget Package manager: version 2.2.40116.9051</li>
  <li>Visual Studio 2012: version 11.051106.01 Update 1</li>
  </ul>
  
  <p>Is there anything I'm missing?</p>