{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/corefx/issues/6603","repository_url":"https://api.github.com/repos/dotnet/corefx","labels_url":"https://api.github.com/repos/dotnet/corefx/issues/6603/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/corefx/issues/6603/comments","events_url":"https://api.github.com/repos/dotnet/corefx/issues/6603/events","html_url":"https://github.com/dotnet/corefx/issues/6603","id":138044823,"number":6603,"title":"System.IO.Compression 4.1.0-rc2-23901 provides a compile-time reference assembly for System.IO.Compression on {TFM}, but there is no run-time assembly compatible with {RID}","user":{"login":"ericstj","id":8918108,"avatar_url":"https://avatars.githubusercontent.com/u/8918108?v=3","gravatar_id":"","url":"https://api.github.com/users/ericstj","html_url":"https://github.com/ericstj","followers_url":"https://api.github.com/users/ericstj/followers","following_url":"https://api.github.com/users/ericstj/following{/other_user}","gists_url":"https://api.github.com/users/ericstj/gists{/gist_id}","starred_url":"https://api.github.com/users/ericstj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericstj/subscriptions","organizations_url":"https://api.github.com/users/ericstj/orgs","repos_url":"https://api.github.com/users/ericstj/repos","events_url":"https://api.github.com/users/ericstj/events{/privacy}","received_events_url":"https://api.github.com/users/ericstj/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dotnet/corefx/labels/packaging","name":"packaging","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"ericstj","id":8918108,"avatar_url":"https://avatars.githubusercontent.com/u/8918108?v=3","gravatar_id":"","url":"https://api.github.com/users/ericstj","html_url":"https://github.com/ericstj","followers_url":"https://api.github.com/users/ericstj/followers","following_url":"https://api.github.com/users/ericstj/following{/other_user}","gists_url":"https://api.github.com/users/ericstj/gists{/gist_id}","starred_url":"https://api.github.com/users/ericstj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericstj/subscriptions","organizations_url":"https://api.github.com/users/ericstj/orgs","repos_url":"https://api.github.com/users/ericstj/repos","events_url":"https://api.github.com/users/ericstj/events{/privacy}","received_events_url":"https://api.github.com/users/ericstj/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/dotnet/corefx/milestones/6","html_url":"https://github.com/dotnet/corefx/milestones/1.0.0-rc2","labels_url":"https://api.github.com/repos/dotnet/corefx/milestones/6/labels","id":1365455,"number":6,"title":"1.0.0-rc2","description":"","creator":{"login":"joshfree","id":1302850,"avatar_url":"https://avatars.githubusercontent.com/u/1302850?v=3","gravatar_id":"","url":"https://api.github.com/users/joshfree","html_url":"https://github.com/joshfree","followers_url":"https://api.github.com/users/joshfree/followers","following_url":"https://api.github.com/users/joshfree/following{/other_user}","gists_url":"https://api.github.com/users/joshfree/gists{/gist_id}","starred_url":"https://api.github.com/users/joshfree/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshfree/subscriptions","organizations_url":"https://api.github.com/users/joshfree/orgs","repos_url":"https://api.github.com/users/joshfree/repos","events_url":"https://api.github.com/users/joshfree/events{/privacy}","received_events_url":"https://api.github.com/users/joshfree/received_events","type":"User","site_admin":false},"open_issues":49,"closed_issues":496,"state":"open","created_at":"2015-10-20T04:29:15Z","updated_at":"2016-03-11T03:23:51Z","due_on":"2016-04-08T07:00:00Z","closed_at":null},"comments":14,"created_at":"2016-03-03T01:20:15Z","updated_at":"2016-03-11T06:56:05Z","closed_at":null,"body":"Lots of folks have been hitting this lately.  The cause is that some package in the compile graph brings in System.IO.Compression 4.0.0 RTM but nothing newer.\r\n\r\nAt RTM System.IO.Compression defined a runtime.json that mapped System.IO.Compression to runtime packages that contained CLR compression for RIDs win7-x86, win7-x64, and win8-arm, not the implementation assembly.  The implementation was part of the System.IO.Compression package itself.\r\n```\r\n{\r\n  \"runtimes\": {\r\n    \"win7-x86\": {\r\n      \"System.IO.Compression\": {\r\n        \"System.IO.Compression.clrcompression-x86\": \"4.0.0\"\r\n      }\r\n    },\r\n    \"win7-x64\": {\r\n      \"System.IO.Compression\": {\r\n        \"System.IO.Compression.clrcompression-x64\": \"4.0.0\"\r\n      }\r\n    },\r\n    \"win8-arm\": {\r\n      \"System.IO.Compression\": {\r\n        \"System.IO.Compression.clrcompression-arm\": \"4.0.0\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nOur lineup currently contains a runtime mapping for System.IO.Compression that maps the win/unix RIDs to the implementation package.  The problem here is that the RTM runtime.json entries take precedence since the RIDs are more specific, so we don't get the implementation packages.  Add to that that some other package in the runtime graph is referencing the latest System.IO.Compression and we just upgraded ourselves out of an implementation.\r\n```\r\n{\r\n  \"runtimes\": {\r\n    \"win7\": {\r\n      \"System.IO.Compression\": {\r\n        \"runtime.win7.System.IO.Compression\": \"4.1.0-rc3-23902\"\r\n      }\r\n    },\r\n    \"unix\": {\r\n      \"System.IO.Compression\": {\r\n        \"runtime.unix.System.IO.Compression\": \"4.1.0-rc3-23902\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n\r\nTo fix this we need to make sure that the lineup never drops a RID that was used for the package in a previous version.  So a simple fix for this would be to duplicate our lineup entries for the arch-specific RIDs.\r\n```\r\n{\r\n  \"runtimes\": {\r\n    \"win7\": {\r\n      \"System.IO.Compression\": {\r\n        \"runtime.win7.System.IO.Compression\": \"4.1.0-rc3-23902\"\r\n      }\r\n    },\r\n    \"win7-x86\": {\r\n      \"System.IO.Compression\": {\r\n        \"runtime.win7.System.IO.Compression\": \"4.1.0-rc3-23902\"\r\n      }\r\n    },\r\n    \"win7-x64\": {\r\n      \"System.IO.Compression\": {\r\n        \"runtime.win7.System.IO.Compression\": \"4.1.0-rc3-23902\"\r\n      }\r\n    },\r\n    \"win8-arm\": {\r\n      \"System.IO.Compression\": {\r\n        \"runtime.win7.System.IO.Compression\": \"4.1.0-rc3-23902\"\r\n      }\r\n    },\r\n    \"unix\": {\r\n      \"System.IO.Compression\": {\r\n        \"runtime.unix.System.IO.Compression\": \"4.1.0-rc3-23902\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nAnother fix is to move System.IO.Compression to be a fat-package.  Since this is the direction we're already going with this I may hold off on the lineup workaround.\r\n\r\nOther packages which shipped runtime.jsons at RTM that may have the same issue are as follows:\r\nSystem.Dynamic.Runtime\r\nSystem.Linq.Expressions\r\nSystem.Private.DataContractSerialization\r\nSystem.Reflection.DispatchProxy\r\nSystem.Xml.XmlSerializer\r\n\r\nWe need to review these packages to see if they have the same problem and then determine if they need a runtime.json workaround.\r\n\r\nMoving forward we won't have new instances of this issue because we are only ever using a single runtime.json.\r\n\r\n/cc @davidfowl @pranavkm "},"comment":{"url":"https://api.github.com/repos/dotnet/corefx/issues/comments/195225605","html_url":"https://github.com/dotnet/corefx/issues/6603#issuecomment-195225605","issue_url":"https://api.github.com/repos/dotnet/corefx/issues/6603","id":195225605,"user":{"login":"ericstj","id":8918108,"avatar_url":"https://avatars.githubusercontent.com/u/8918108?v=3","gravatar_id":"","url":"https://api.github.com/users/ericstj","html_url":"https://github.com/ericstj","followers_url":"https://api.github.com/users/ericstj/followers","following_url":"https://api.github.com/users/ericstj/following{/other_user}","gists_url":"https://api.github.com/users/ericstj/gists{/gist_id}","starred_url":"https://api.github.com/users/ericstj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericstj/subscriptions","organizations_url":"https://api.github.com/users/ericstj/orgs","repos_url":"https://api.github.com/users/ericstj/repos","events_url":"https://api.github.com/users/ericstj/events{/privacy}","received_events_url":"https://api.github.com/users/ericstj/received_events","type":"User","site_admin":false},"created_at":"2016-03-11T06:56:05Z","updated_at":"2016-03-11T06:56:05Z","body":"Why are you restoring UAP for Win7?  That's the problem with the first 3.  Their assets are under win8 RIDs.\r\n\r\nAppContext problem is due to the remapping of UAP to netstandard1.4 but we haven't updated the package yet.\r\n\r\n"}}