{"action":"created","issue":{"url":"https://api.github.com/repos/NuGet/Home/issues/2324","repository_url":"https://api.github.com/repos/NuGet/Home","labels_url":"https://api.github.com/repos/NuGet/Home/issues/2324/labels{/name}","comments_url":"https://api.github.com/repos/NuGet/Home/issues/2324/comments","events_url":"https://api.github.com/repos/NuGet/Home/issues/2324/events","html_url":"https://github.com/NuGet/Home/issues/2324","id":141089909,"number":2324,"title":"Nuget restore takes file locks even when no need to install package.","user":{"login":"kingerja","id":11019677,"avatar_url":"https://avatars.githubusercontent.com/u/11019677?v=3","gravatar_id":"","url":"https://api.github.com/users/kingerja","html_url":"https://github.com/kingerja","followers_url":"https://api.github.com/users/kingerja/followers","following_url":"https://api.github.com/users/kingerja/following{/other_user}","gists_url":"https://api.github.com/users/kingerja/gists{/gist_id}","starred_url":"https://api.github.com/users/kingerja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kingerja/subscriptions","organizations_url":"https://api.github.com/users/kingerja/orgs","repos_url":"https://api.github.com/users/kingerja/repos","events_url":"https://api.github.com/users/kingerja/events{/privacy}","received_events_url":"https://api.github.com/users/kingerja/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/NuGet/Home/labels/ShipRoom%20Check","name":"ShipRoom Check","color":"5319e7"},{"url":"https://api.github.com/repos/NuGet/Home/labels/Type:Bug","name":"Type:Bug","color":"207de5"}],"state":"open","locked":false,"assignee":{"login":"joelverhagen","id":94054,"avatar_url":"https://avatars.githubusercontent.com/u/94054?v=3","gravatar_id":"","url":"https://api.github.com/users/joelverhagen","html_url":"https://github.com/joelverhagen","followers_url":"https://api.github.com/users/joelverhagen/followers","following_url":"https://api.github.com/users/joelverhagen/following{/other_user}","gists_url":"https://api.github.com/users/joelverhagen/gists{/gist_id}","starred_url":"https://api.github.com/users/joelverhagen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joelverhagen/subscriptions","organizations_url":"https://api.github.com/users/joelverhagen/orgs","repos_url":"https://api.github.com/users/joelverhagen/repos","events_url":"https://api.github.com/users/joelverhagen/events{/privacy}","received_events_url":"https://api.github.com/users/joelverhagen/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/NuGet/Home/milestones/24","html_url":"https://github.com/NuGet/Home/milestones/3.4%20RTM","labels_url":"https://api.github.com/repos/NuGet/Home/milestones/24/labels","id":1604346,"number":24,"title":"3.4 RTM","description":"","creator":{"login":"yishaigalatzer","id":1238711,"avatar_url":"https://avatars.githubusercontent.com/u/1238711?v=3","gravatar_id":"","url":"https://api.github.com/users/yishaigalatzer","html_url":"https://github.com/yishaigalatzer","followers_url":"https://api.github.com/users/yishaigalatzer/followers","following_url":"https://api.github.com/users/yishaigalatzer/following{/other_user}","gists_url":"https://api.github.com/users/yishaigalatzer/gists{/gist_id}","starred_url":"https://api.github.com/users/yishaigalatzer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yishaigalatzer/subscriptions","organizations_url":"https://api.github.com/users/yishaigalatzer/orgs","repos_url":"https://api.github.com/users/yishaigalatzer/repos","events_url":"https://api.github.com/users/yishaigalatzer/events{/privacy}","received_events_url":"https://api.github.com/users/yishaigalatzer/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":71,"state":"open","created_at":"2016-02-25T02:33:27Z","updated_at":"2016-03-16T01:55:19Z","due_on":"2016-05-01T07:00:00Z","closed_at":null},"comments":3,"created_at":"2016-03-15T20:32:11Z","updated_at":"2016-03-16T01:56:26Z","closed_at":null,"body":"NuGet Version: 3.4.0.738\r\n\r\nScenario:\r\nProject A and Project B build in parallel.  They each contain a packages.config which has the same nuget packages listed.\r\nProject A invokes nuget restore on it's packages.config even though the packages are installed nuget takes exclusive locks on the file content (I am speculating it is simply re-writing over the packages files).\r\nAt the same time Project A is locking the already installed files in the packages folder on the disk Project B tries to build and then blows up with access denied to the files that are being locked by project A.\r\n\r\nPerhaps nuget restore can do a hash check (aka read operation) or something else to determine if it needs to write to the package folder instead of always rewriting making it a problematic tool to use in builds.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/NuGet/Home/issues/comments/197109204","html_url":"https://github.com/NuGet/Home/issues/2324#issuecomment-197109204","issue_url":"https://api.github.com/repos/NuGet/Home/issues/2324","id":197109204,"user":{"login":"joelverhagen","id":94054,"avatar_url":"https://avatars.githubusercontent.com/u/94054?v=3","gravatar_id":"","url":"https://api.github.com/users/joelverhagen","html_url":"https://github.com/joelverhagen","followers_url":"https://api.github.com/users/joelverhagen/followers","following_url":"https://api.github.com/users/joelverhagen/following{/other_user}","gists_url":"https://api.github.com/users/joelverhagen/gists{/gist_id}","starred_url":"https://api.github.com/users/joelverhagen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joelverhagen/subscriptions","organizations_url":"https://api.github.com/users/joelverhagen/orgs","repos_url":"https://api.github.com/users/joelverhagen/repos","events_url":"https://api.github.com/users/joelverhagen/events{/privacy}","received_events_url":"https://api.github.com/users/joelverhagen/received_events","type":"User","site_admin":false},"created_at":"2016-03-16T01:56:26Z","updated_at":"2016-03-16T01:56:26Z","body":"Could you provide the error message? Also, are Project A and Project B sharing the same solution packages folder?"}}