{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/comments/83326622","pull_request_review_id":4178647,"id":83326622,"diff_hunk":"@@ -0,0 +1,106 @@\n+﻿// Copyright (c) Microsoft.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information.\n+\n+using System;\n+using System.Collections.Generic;\n+using Microsoft.VisualStudio.ProjectSystem.LanguageServices;\n+using Microsoft.VisualStudio.Shell.Interop;\n+using Task = System.Threading.Tasks.Task;\n+\n+namespace Microsoft.VisualStudio.ProjectSystem.VS.LanguageServices\n+{\n+    /// <summary>\n+    /// Language service host object for an unconfigured project that wraps the underlying host object.\n+    /// </summary>\n+    internal sealed class UnconfiguredProjectHostObject : AbstractHostObject, IUnconfiguredProjectHostObject\n+    {\n+        private readonly IVsHierarchy _innerHierarchy;\n+        private readonly Dictionary<uint, IVsHierarchyEvents> _hierEventSinks;\n+\n+        public UnconfiguredProjectHostObject(UnconfiguredProject unconfiguredProject)\n+        {\n+            Requires.NotNull(unconfiguredProject, nameof(unconfiguredProject));\n+\n+            _innerHierarchy = unconfiguredProject.Services.HostObject as IVsHierarchy;","path":"src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/ProjectSystem/VS/LanguageServices/UnconfiguredProjectHostObject.cs","position":23,"original_position":23,"commit_id":"daeed0c1111b2ad6f6417e198d6ad88201d8e350","original_commit_id":"ff57cbce528bb966a2825f43428db9630f71ca78","user":{"login":"mavasani","id":10605811,"avatar_url":"https://avatars.githubusercontent.com/u/10605811?v=3","gravatar_id":"","url":"https://api.github.com/users/mavasani","html_url":"https://github.com/mavasani","followers_url":"https://api.github.com/users/mavasani/followers","following_url":"https://api.github.com/users/mavasani/following{/other_user}","gists_url":"https://api.github.com/users/mavasani/gists{/gist_id}","starred_url":"https://api.github.com/users/mavasani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavasani/subscriptions","organizations_url":"https://api.github.com/users/mavasani/orgs","repos_url":"https://api.github.com/users/mavasani/repos","events_url":"https://api.github.com/users/mavasani/events{/privacy}","received_events_url":"https://api.github.com/users/mavasani/received_events","type":"User","site_admin":false},"body":"Sure","created_at":"2016-10-13T22:32:32Z","updated_at":"2016-10-13T22:32:32Z","html_url":"https://github.com/dotnet/roslyn-project-system/pull/534#discussion_r83326622","pull_request_url":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/534","_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/comments/83326622"},"html":{"href":"https://github.com/dotnet/roslyn-project-system/pull/534#discussion_r83326622"},"pull_request":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/534"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/534","id":87968663,"html_url":"https://github.com/dotnet/roslyn-project-system/pull/534","diff_url":"https://github.com/dotnet/roslyn-project-system/pull/534.diff","patch_url":"https://github.com/dotnet/roslyn-project-system/pull/534.patch","issue_url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/534","number":534,"state":"open","locked":false,"title":"Combined intellisense for cross targeting projects","user":{"login":"mavasani","id":10605811,"avatar_url":"https://avatars.githubusercontent.com/u/10605811?v=3","gravatar_id":"","url":"https://api.github.com/users/mavasani","html_url":"https://github.com/mavasani","followers_url":"https://api.github.com/users/mavasani/followers","following_url":"https://api.github.com/users/mavasani/following{/other_user}","gists_url":"https://api.github.com/users/mavasani/gists{/gist_id}","starred_url":"https://api.github.com/users/mavasani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavasani/subscriptions","organizations_url":"https://api.github.com/users/mavasani/orgs","repos_url":"https://api.github.com/users/mavasani/repos","events_url":"https://api.github.com/users/mavasani/events{/privacy}","received_events_url":"https://api.github.com/users/mavasani/received_events","type":"User","site_admin":false},"body":"**Types added:**\r\n\r\n1. _ActiveConfiguredProjectsIgnoringTargetFrameworkProvider_: Provides set of active configured projects whose ProjectConfiguration has all dimensions (ignoring the TargetFramework) matching the active VS configuration.\r\n2. _AggregateWorkspaceProjectContext_: A set of IWorkspaceProjectContext\" instances for all the active configured projects (ignoring TF) for a given cross targeting project.\r\n3. _AggregateWorkspaceProjectContextProvider_: Handles creation and release of AggregateWorkspaceProjectContext\r\n4. _IConfiguredProjectHostObject_: Language service host object wrapper for configured projects.\r\n5. _IUnconfiguredProjectHostObject_: Language service host object wrapper for unconfigured projects - handles tracking of active intellisense context project.\r\n6. _ConfiguredProjectReadyToBuild_: Enables design time builds for all active configured projects.\r\n\r\n**Functionality:**\r\n\r\n1. Hookup an aggregate project context with inner workspace project contexts for all active configured projects in the UnconfiguredProjectContextProvider.\r\n2. Change handlers to explicitly take in the workspace project context to update.\r\n3. Hookup subscriptions for both design time builds and evaluations for all active configured projects instead of just a single active configured project in LanguageServiceHost.\r\n4. Ensure aggregate project context is refreshed when TargetFrameworks is changed.\r\n5. Wrap the unconfigured project and configured project host objects with a wrapper host object (to mimic shared projects functionality).","created_at":"2016-10-04T20:33:15Z","updated_at":"2016-10-13T22:32:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f0687434a870c246c8987d8add7dcf06426e66a4","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/534/commits","review_comments_url":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/534/comments","review_comment_url":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/534/comments","statuses_url":"https://api.github.com/repos/dotnet/roslyn-project-system/statuses/daeed0c1111b2ad6f6417e198d6ad88201d8e350","head":{"label":"mavasani:CombinedIntellisense","ref":"CombinedIntellisense","sha":"daeed0c1111b2ad6f6417e198d6ad88201d8e350","user":{"login":"mavasani","id":10605811,"avatar_url":"https://avatars.githubusercontent.com/u/10605811?v=3","gravatar_id":"","url":"https://api.github.com/users/mavasani","html_url":"https://github.com/mavasani","followers_url":"https://api.github.com/users/mavasani/followers","following_url":"https://api.github.com/users/mavasani/following{/other_user}","gists_url":"https://api.github.com/users/mavasani/gists{/gist_id}","starred_url":"https://api.github.com/users/mavasani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavasani/subscriptions","organizations_url":"https://api.github.com/users/mavasani/orgs","repos_url":"https://api.github.com/users/mavasani/repos","events_url":"https://api.github.com/users/mavasani/events{/privacy}","received_events_url":"https://api.github.com/users/mavasani/received_events","type":"User","site_admin":false},"repo":{"id":61313125,"name":"roslyn-project-system","full_name":"mavasani/roslyn-project-system","owner":{"login":"mavasani","id":10605811,"avatar_url":"https://avatars.githubusercontent.com/u/10605811?v=3","gravatar_id":"","url":"https://api.github.com/users/mavasani","html_url":"https://github.com/mavasani","followers_url":"https://api.github.com/users/mavasani/followers","following_url":"https://api.github.com/users/mavasani/following{/other_user}","gists_url":"https://api.github.com/users/mavasani/gists{/gist_id}","starred_url":"https://api.github.com/users/mavasani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mavasani/subscriptions","organizations_url":"https://api.github.com/users/mavasani/orgs","repos_url":"https://api.github.com/users/mavasani/repos","events_url":"https://api.github.com/users/mavasani/events{/privacy}","received_events_url":"https://api.github.com/users/mavasani/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mavasani/roslyn-project-system","description":"The C# and Visual Basic project system for Visual Studio \"15\"","fork":true,"url":"https://api.github.com/repos/mavasani/roslyn-project-system","forks_url":"https://api.github.com/repos/mavasani/roslyn-project-system/forks","keys_url":"https://api.github.com/repos/mavasani/roslyn-project-system/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mavasani/roslyn-project-system/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mavasani/roslyn-project-system/teams","hooks_url":"https://api.github.com/repos/mavasani/roslyn-project-system/hooks","issue_events_url":"https://api.github.com/repos/mavasani/roslyn-project-system/issues/events{/number}","events_url":"https://api.github.com/repos/mavasani/roslyn-project-system/events","assignees_url":"https://api.github.com/repos/mavasani/roslyn-project-system/assignees{/user}","branches_url":"https://api.github.com/repos/mavasani/roslyn-project-system/branches{/branch}","tags_url":"https://api.github.com/repos/mavasani/roslyn-project-system/tags","blobs_url":"https://api.github.com/repos/mavasani/roslyn-project-system/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mavasani/roslyn-project-system/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mavasani/roslyn-project-system/git/refs{/sha}","trees_url":"https://api.github.com/repos/mavasani/roslyn-project-system/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mavasani/roslyn-project-system/statuses/{sha}","languages_url":"https://api.github.com/repos/mavasani/roslyn-project-system/languages","stargazers_url":"https://api.github.com/repos/mavasani/roslyn-project-system/stargazers","contributors_url":"https://api.github.com/repos/mavasani/roslyn-project-system/contributors","subscribers_url":"https://api.github.com/repos/mavasani/roslyn-project-system/subscribers","subscription_url":"https://api.github.com/repos/mavasani/roslyn-project-system/subscription","commits_url":"https://api.github.com/repos/mavasani/roslyn-project-system/commits{/sha}","git_commits_url":"https://api.github.com/repos/mavasani/roslyn-project-system/git/commits{/sha}","comments_url":"https://api.github.com/repos/mavasani/roslyn-project-system/comments{/number}","issue_comment_url":"https://api.github.com/repos/mavasani/roslyn-project-system/issues/comments{/number}","contents_url":"https://api.github.com/repos/mavasani/roslyn-project-system/contents/{+path}","compare_url":"https://api.github.com/repos/mavasani/roslyn-project-system/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mavasani/roslyn-project-system/merges","archive_url":"https://api.github.com/repos/mavasani/roslyn-project-system/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mavasani/roslyn-project-system/downloads","issues_url":"https://api.github.com/repos/mavasani/roslyn-project-system/issues{/number}","pulls_url":"https://api.github.com/repos/mavasani/roslyn-project-system/pulls{/number}","milestones_url":"https://api.github.com/repos/mavasani/roslyn-project-system/milestones{/number}","notifications_url":"https://api.github.com/repos/mavasani/roslyn-project-system/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mavasani/roslyn-project-system/labels{/name}","releases_url":"https://api.github.com/repos/mavasani/roslyn-project-system/releases{/id}","deployments_url":"https://api.github.com/repos/mavasani/roslyn-project-system/deployments","created_at":"2016-06-16T17:30:39Z","updated_at":"2016-06-16T17:30:40Z","pushed_at":"2016-10-13T22:29:28Z","git_url":"git://github.com/mavasani/roslyn-project-system.git","ssh_url":"git@github.com:mavasani/roslyn-project-system.git","clone_url":"https://github.com/mavasani/roslyn-project-system.git","svn_url":"https://github.com/mavasani/roslyn-project-system","homepage":null,"size":6038,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"b9aa6807f347d300273d9267ca0df462712e0205","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","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":56740275,"name":"roslyn-project-system","full_name":"dotnet/roslyn-project-system","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","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/roslyn-project-system","description":"The C# and Visual Basic project system for Visual Studio \"15\"","fork":false,"url":"https://api.github.com/repos/dotnet/roslyn-project-system","forks_url":"https://api.github.com/repos/dotnet/roslyn-project-system/forks","keys_url":"https://api.github.com/repos/dotnet/roslyn-project-system/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/roslyn-project-system/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/roslyn-project-system/teams","hooks_url":"https://api.github.com/repos/dotnet/roslyn-project-system/hooks","issue_events_url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/roslyn-project-system/events","assignees_url":"https://api.github.com/repos/dotnet/roslyn-project-system/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/roslyn-project-system/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/roslyn-project-system/tags","blobs_url":"https://api.github.com/repos/dotnet/roslyn-project-system/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/roslyn-project-system/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/roslyn-project-system/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/roslyn-project-system/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/roslyn-project-system/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/roslyn-project-system/languages","stargazers_url":"https://api.github.com/repos/dotnet/roslyn-project-system/stargazers","contributors_url":"https://api.github.com/repos/dotnet/roslyn-project-system/contributors","subscribers_url":"https://api.github.com/repos/dotnet/roslyn-project-system/subscribers","subscription_url":"https://api.github.com/repos/dotnet/roslyn-project-system/subscription","commits_url":"https://api.github.com/repos/dotnet/roslyn-project-system/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/roslyn-project-system/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/roslyn-project-system/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/roslyn-project-system/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/roslyn-project-system/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/roslyn-project-system/merges","archive_url":"https://api.github.com/repos/dotnet/roslyn-project-system/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/roslyn-project-system/downloads","issues_url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/roslyn-project-system/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/roslyn-project-system/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/roslyn-project-system/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/roslyn-project-system/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/roslyn-project-system/deployments","created_at":"2016-04-21T03:40:18Z","updated_at":"2016-10-13T06:38:01Z","pushed_at":"2016-10-13T22:29:28Z","git_url":"git://github.com/dotnet/roslyn-project-system.git","ssh_url":"git@github.com:dotnet/roslyn-project-system.git","clone_url":"https://github.com/dotnet/roslyn-project-system.git","svn_url":"https://github.com/dotnet/roslyn-project-system","homepage":null,"size":6404,"stargazers_count":160,"watchers_count":160,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":38,"mirror_url":null,"open_issues_count":280,"forks":38,"open_issues":280,"watchers":160,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/534"},"html":{"href":"https://github.com/dotnet/roslyn-project-system/pull/534"},"issue":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/534"},"comments":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/534/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/534/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/pulls/534/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/roslyn-project-system/statuses/daeed0c1111b2ad6f6417e198d6ad88201d8e350"}}}}
{"actor":{"display_login":"mavasani"}}