{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/sdk/pulls/comments/149755480","pull_request_review_id":75200343,"id":149755480,"diff_hunk":"@@ -127,14 +159,120 @@ public void It_does_not_include_facades_from_nuget_packages()\n             outputDirectory.Should().OnlyHaveFiles(new[] {\n                 $\"{testProject.Name}.exe\",\n                 $\"{testProject.Name}.pdb\",\n-\n-                //  Remove these two once https://github.com/dotnet/sdk/issues/1647 is fixed\n+                \n                 \"System.Net.Http.dll\",\n                 \"System.IO.Compression.dll\",\n \n                 //  This is an implementation dependency of the System.Net.Http package, which won't get conflict resolved out\n                 \"System.Diagnostics.DiagnosticSource.dll\",\n             });\n         }\n+\n+        [Fact]\n+        public void It_includes_shims_when_net471_app_references_netstandard16()\n+        {\n+            //  https://github.com/dotnet/sdk/issues/1625\n+            if (!Net471ReferenceAssembliesAreInstalled())\n+            {\n+                return;\n+            }\n+            var testProject = new TestProject()\n+            {\n+                Name = \"Net471App_Referencing_NetStandard16\",\n+                TargetFrameworks = \"net471\",\n+                IsSdkProject = true,\n+                IsExe = true\n+            };\n+\n+            var netStandardProject = new TestProject()\n+            {\n+                Name = \"NetStandard16_Library\",\n+                TargetFrameworks = \"netstandard1.6\",\n+                IsSdkProject = true\n+            };\n+\n+            testProject.ReferencedProjects.Add(netStandardProject);\n+\n+            var testAsset = _testAssetsManager.CreateTestProject(testProject, \"net471_ref_ns16\")\n+                .Restore(Log, testProject.Name);\n+\n+            var buildCommand = new BuildCommand(Log, Path.Combine(testAsset.TestRoot, testProject.Name));\n+\n+            buildCommand\n+                .Execute(\"/v:normal\")\n+                .Should()\n+                .Pass()\n+                .And.NotHaveStdOutContaining(\"MSB3277\") // MSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved.\n+                .And.NotHaveStdOutContaining(\"Could not determine\");\n+\n+            var outputDirectory = buildCommand.GetOutputDirectory(testProject.TargetFrameworks);\n+\n+            outputDirectory.Should().OnlyHaveFiles(new[] {\n+                $\"{testProject.Name}.exe\",\n+                $\"{testProject.Name}.pdb\",\n+                $\"{netStandardProject.Name}.dll\",\n+                $\"{netStandardProject.Name}.pdb\",\n+                \"System.Diagnostics.DiagnosticSource.dll\" // This library will get pulled in as part of the closure of the ns16 project and will be copyied because it's not inbox.","path":"test/Microsoft.NET.Build.Tests/GivenThatWeWantToTargetNet471.cs","position":135,"original_position":135,"commit_id":"bf8f99618d3541524707ce7b4de0f0f56b0a5e6d","original_commit_id":"bf8f99618d3541524707ce7b4de0f0f56b0a5e6d","user":{"login":"weshaggard","id":9010698,"avatar_url":"https://avatars2.githubusercontent.com/u/9010698?v=4","gravatar_id":"","url":"https://api.github.com/users/weshaggard","html_url":"https://github.com/weshaggard","followers_url":"https://api.github.com/users/weshaggard/followers","following_url":"https://api.github.com/users/weshaggard/following{/other_user}","gists_url":"https://api.github.com/users/weshaggard/gists{/gist_id}","starred_url":"https://api.github.com/users/weshaggard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weshaggard/subscriptions","organizations_url":"https://api.github.com/users/weshaggard/orgs","repos_url":"https://api.github.com/users/weshaggard/repos","events_url":"https://api.github.com/users/weshaggard/events{/privacy}","received_events_url":"https://api.github.com/users/weshaggard/received_events","type":"User","site_admin":false},"body":"Don't blindly include that inbox. Please consult with @vancem first as I know they were trying to keep it out of box. ","created_at":"2017-11-08T18:26:48Z","updated_at":"2017-11-08T18:26:48Z","html_url":"https://github.com/dotnet/sdk/pull/1712#discussion_r149755480","pull_request_url":"https://api.github.com/repos/dotnet/sdk/pulls/1712","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/dotnet/sdk/pulls/comments/149755480"},"html":{"href":"https://github.com/dotnet/sdk/pull/1712#discussion_r149755480"},"pull_request":{"href":"https://api.github.com/repos/dotnet/sdk/pulls/1712"}},"in_reply_to_id":149753970},"pull_request":{"url":"https://api.github.com/repos/dotnet/sdk/pulls/1712","id":151031255,"html_url":"https://github.com/dotnet/sdk/pull/1712","diff_url":"https://github.com/dotnet/sdk/pull/1712.diff","patch_url":"https://github.com/dotnet/sdk/pull/1712.patch","issue_url":"https://api.github.com/repos/dotnet/sdk/issues/1712","number":1712,"state":"open","locked":false,"title":"Changes to the msbuild extensions targets that will enable copying the shims for net471 case","user":{"login":"joperezr","id":13854455,"avatar_url":"https://avatars3.githubusercontent.com/u/13854455?v=4","gravatar_id":"","url":"https://api.github.com/users/joperezr","html_url":"https://github.com/joperezr","followers_url":"https://api.github.com/users/joperezr/followers","following_url":"https://api.github.com/users/joperezr/following{/other_user}","gists_url":"https://api.github.com/users/joperezr/gists{/gist_id}","starred_url":"https://api.github.com/users/joperezr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joperezr/subscriptions","organizations_url":"https://api.github.com/users/joperezr/orgs","repos_url":"https://api.github.com/users/joperezr/repos","events_url":"https://api.github.com/users/joperezr/events{/privacy}","received_events_url":"https://api.github.com/users/joperezr/received_events","type":"User","site_admin":false},"body":"cc: @AlexGhiondea @weshaggard @dsplaisted @livarcocc \r\n\r\nThese are the required changes for copying the required shims in order to run a net471 app that contains assets that were built using the support package. An example of a case that is currently broken is the following:\r\n\r\n- A is a netstandard based library (could be ns1.5+)\r\n- B is a net461 library that has a dependency to A. It also uses the type HttpClient. (HttpClient is in one of the affected assemblies, there are 12 affected assemblies in total)\r\n- C is a net471 app that consumes B. When trying to run the app on net471, it will crash since it won't be able to find System.Net.Http.dll version 4.2.0.0.\r\n\r\nThe reason behind it is that since the net461 library depends on a NS1.5+ library, it will be built against the shims contained in the support package. These shims, have in some cases a higher assembly version than the one we have inbox on net471 (in 12 cases as I mentioned above). That means that your net461 library, will depend on a higher assembly version of a library than the ones present inbox on net471, which will cause a missing assembly error.","created_at":"2017-11-07T06:02:40Z","updated_at":"2017-11-08T18:26:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d68446abd2a82bf581819b2495c64bbe965e9c52","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/sdk/pulls/1712/commits","review_comments_url":"https://api.github.com/repos/dotnet/sdk/pulls/1712/comments","review_comment_url":"https://api.github.com/repos/dotnet/sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/sdk/issues/1712/comments","statuses_url":"https://api.github.com/repos/dotnet/sdk/statuses/bf8f99618d3541524707ce7b4de0f0f56b0a5e6d","head":{"label":"joperezr:AddNet471Shims","ref":"AddNet471Shims","sha":"bf8f99618d3541524707ce7b4de0f0f56b0a5e6d","user":{"login":"joperezr","id":13854455,"avatar_url":"https://avatars3.githubusercontent.com/u/13854455?v=4","gravatar_id":"","url":"https://api.github.com/users/joperezr","html_url":"https://github.com/joperezr","followers_url":"https://api.github.com/users/joperezr/followers","following_url":"https://api.github.com/users/joperezr/following{/other_user}","gists_url":"https://api.github.com/users/joperezr/gists{/gist_id}","starred_url":"https://api.github.com/users/joperezr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joperezr/subscriptions","organizations_url":"https://api.github.com/users/joperezr/orgs","repos_url":"https://api.github.com/users/joperezr/repos","events_url":"https://api.github.com/users/joperezr/events{/privacy}","received_events_url":"https://api.github.com/users/joperezr/received_events","type":"User","site_admin":false},"repo":{"id":109754017,"name":"sdk","full_name":"joperezr/sdk","owner":{"login":"joperezr","id":13854455,"avatar_url":"https://avatars3.githubusercontent.com/u/13854455?v=4","gravatar_id":"","url":"https://api.github.com/users/joperezr","html_url":"https://github.com/joperezr","followers_url":"https://api.github.com/users/joperezr/followers","following_url":"https://api.github.com/users/joperezr/following{/other_user}","gists_url":"https://api.github.com/users/joperezr/gists{/gist_id}","starred_url":"https://api.github.com/users/joperezr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joperezr/subscriptions","organizations_url":"https://api.github.com/users/joperezr/orgs","repos_url":"https://api.github.com/users/joperezr/repos","events_url":"https://api.github.com/users/joperezr/events{/privacy}","received_events_url":"https://api.github.com/users/joperezr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/joperezr/sdk","description":"Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI","fork":true,"url":"https://api.github.com/repos/joperezr/sdk","forks_url":"https://api.github.com/repos/joperezr/sdk/forks","keys_url":"https://api.github.com/repos/joperezr/sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/joperezr/sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/joperezr/sdk/teams","hooks_url":"https://api.github.com/repos/joperezr/sdk/hooks","issue_events_url":"https://api.github.com/repos/joperezr/sdk/issues/events{/number}","events_url":"https://api.github.com/repos/joperezr/sdk/events","assignees_url":"https://api.github.com/repos/joperezr/sdk/assignees{/user}","branches_url":"https://api.github.com/repos/joperezr/sdk/branches{/branch}","tags_url":"https://api.github.com/repos/joperezr/sdk/tags","blobs_url":"https://api.github.com/repos/joperezr/sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/joperezr/sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/joperezr/sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/joperezr/sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/joperezr/sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/joperezr/sdk/languages","stargazers_url":"https://api.github.com/repos/joperezr/sdk/stargazers","contributors_url":"https://api.github.com/repos/joperezr/sdk/contributors","subscribers_url":"https://api.github.com/repos/joperezr/sdk/subscribers","subscription_url":"https://api.github.com/repos/joperezr/sdk/subscription","commits_url":"https://api.github.com/repos/joperezr/sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/joperezr/sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/joperezr/sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/joperezr/sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/joperezr/sdk/contents/{+path}","compare_url":"https://api.github.com/repos/joperezr/sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/joperezr/sdk/merges","archive_url":"https://api.github.com/repos/joperezr/sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/joperezr/sdk/downloads","issues_url":"https://api.github.com/repos/joperezr/sdk/issues{/number}","pulls_url":"https://api.github.com/repos/joperezr/sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/joperezr/sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/joperezr/sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/joperezr/sdk/labels{/name}","releases_url":"https://api.github.com/repos/joperezr/sdk/releases{/id}","deployments_url":"https://api.github.com/repos/joperezr/sdk/deployments","created_at":"2017-11-06T21:50:41Z","updated_at":"2017-11-06T21:50:43Z","pushed_at":"2017-11-08T17:52:24Z","git_url":"git://github.com/joperezr/sdk.git","ssh_url":"git@github.com:joperezr/sdk.git","clone_url":"https://github.com/joperezr/sdk.git","svn_url":"https://github.com/joperezr/sdk","homepage":"https://dot.net/core","size":3203,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:release/15.5","ref":"release/15.5","sha":"2245645827c7db078e8ed24a9577c30ee0a7ca3f","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":63984307,"name":"sdk","full_name":"dotnet/sdk","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/sdk","description":"Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI","fork":false,"url":"https://api.github.com/repos/dotnet/sdk","forks_url":"https://api.github.com/repos/dotnet/sdk/forks","keys_url":"https://api.github.com/repos/dotnet/sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/sdk/teams","hooks_url":"https://api.github.com/repos/dotnet/sdk/hooks","issue_events_url":"https://api.github.com/repos/dotnet/sdk/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/sdk/events","assignees_url":"https://api.github.com/repos/dotnet/sdk/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/sdk/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/sdk/tags","blobs_url":"https://api.github.com/repos/dotnet/sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/sdk/languages","stargazers_url":"https://api.github.com/repos/dotnet/sdk/stargazers","contributors_url":"https://api.github.com/repos/dotnet/sdk/contributors","subscribers_url":"https://api.github.com/repos/dotnet/sdk/subscribers","subscription_url":"https://api.github.com/repos/dotnet/sdk/subscription","commits_url":"https://api.github.com/repos/dotnet/sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/sdk/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/sdk/merges","archive_url":"https://api.github.com/repos/dotnet/sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/sdk/downloads","issues_url":"https://api.github.com/repos/dotnet/sdk/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/sdk/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/sdk/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/sdk/deployments","created_at":"2016-07-22T21:26:02Z","updated_at":"2017-11-06T18:22:21Z","pushed_at":"2017-11-08T18:14:19Z","git_url":"git://github.com/dotnet/sdk.git","ssh_url":"git@github.com:dotnet/sdk.git","clone_url":"https://github.com/dotnet/sdk.git","svn_url":"https://github.com/dotnet/sdk","homepage":"https://dot.net/core","size":3285,"stargazers_count":172,"watchers_count":172,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":109,"mirror_url":null,"archived":false,"open_issues_count":277,"forks":109,"open_issues":277,"watchers":172,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/sdk/pulls/1712"},"html":{"href":"https://github.com/dotnet/sdk/pull/1712"},"issue":{"href":"https://api.github.com/repos/dotnet/sdk/issues/1712"},"comments":{"href":"https://api.github.com/repos/dotnet/sdk/issues/1712/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/sdk/pulls/1712/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/sdk/pulls/1712/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/sdk/statuses/bf8f99618d3541524707ce7b4de0f0f56b0a5e6d"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"weshaggard"}}